Уроки PHP для начинающих


Cкрипт регистрации на сайте

Создадим скрипт регистрации на сайте. Но начнём с создания формы, поскольку данные, прежде чем обрабатывать, нужно куда-то вводить.

Откройте в Блокноте индексный файл нашего сайта.

Ниже созданной ранее формы для проверки пароля добавим следующий код:

<p align="center"><strong>Регистрация на сайте:</strong></p>
<form action="reg.php" method="post" name="form1">
<p align="center">
Введите в поле своё имя:<br>
<input name="name" type="text"></p>
<p align="center">
Введите в поле свой пароль:<br>
<input name="password" type="password"></p>
<p align="center"><input name="submit" type="submit" value="Зарегистрироваться"></p>
</form>

Сохраните изменения, перейдите в браузер, обновите страницу. На странице появилась форма для регистрации:

Уроки php для начинающих

Если сейчас ввести имя и пароль, ничего не произойдёт, так как мы не создали скрипт для обработки данных из формы.

В форме указано, что скрипт находится в файле reg.php (см. в форме: action=" reg.php ").

Создаём файл с таким именем и расширением. Записываем в него код:

<?php
//если $name и/или $password равны пустоте, т. е. в форме поля «Имя» и/или «Пароль» не заполнены
if (($name == "") || ( $password == ""))
//то
{
//выводим следующее сообщение
echo "<p>Форма заполнена не полностью! Вернитесь, пожалуйста, и заполните все поля формы!</p>";
//и останавливаем программу
exit ();
}
//иначе, т. е., при всех заполненных полях формы
else
{
//поздравляем с успешной регистрацией
echo "<p>Поздравляем Вас, " .$name. ". Регистрация прошла успешно.</p>";
}
?>

Сохраните изменения в index.php; обновите страницу в браузере и попробуйте зарегистрироваться, введя имя и пароль, а затем - не заполнив одно (или оба) из полей формы.

Как говорится, почувствуйте разницу.

Внимание! Бывает, что предложенная конструкция вида

if (($name == "") || ($password == ""))

- не работает. Тогда вместо неё можно написать так:

if (!isset ($name) || !isset ($password))

- здесь !isset читается, как "не существует".

Или так:

if (empty ($name) or empty ($password))

- здесь empty означает "пустой". Скорей всего, работать будет именно последняя, так как при незаполненных полях формы переменная именно "пустая". В любом случае знать все три варианта полезно.

Данные из формы естественно сохранить, чтобы пользователю не нужно было регистрироваться повторно. Как сохранять регистрационные данные, читайте в статье Работа с файлами в php: функции fopen, fwrite, fclose

P. S. Внимание! Если после заполнения формы всё равно вылезает сообщение "Форма заполнена не полностью", то, возможно, отключена поддержка глобальных переменных.

Исправить это так:

Найдите файл php.ini (если Вы пользуетесь Денвером, ищите по адресу: WebServers - usr - local - php - php.ini; или в папке C:\PHP или C:\Windows\PHP - если Вы пользуетесь Apache), откройте его в блокноте и найдите инструкцию register_globals = Off. Измените ее на On, сохраните файл и попытайтесь снова.

Успехов.

Автор: Андрей Чернобай

P. S. Подпишитесь на безплатную рассылку Вокруг Сайта и получайте на свой электронный адрес новые уроки по созданию сайта.

Оставьте свой отзыв о статье:



Введите цифровой код с картинки*:

Новое на сайте

Другие статьи...

Видеокурсы

Рассылки

"Вокруг Сайта"
подпишитесь и получайте на свой e-mail уроки, книги, статьи, скрипты, а также подарки и скидки на товары, продаваемые с сайта

SmartResponder.ru
Ваше имя: *
Ваш e-mail: *

"PHP-песочница"
- PHP для начинающих: уроки с подробным анализом скриптов, необходимых для вашего сайта:

PHP-песочница
Подписаться письмом

Разделы Сайта