Отправляет email-рассылки с помощью сервиса Sendsay

PHP-песочница

  Все выпуски  

PHP-песочница Выпуск 5


Php-«песочница»

Выпуск 5. Оператор цикла while.

Здравствуйте, Вас приветствую я, Андрей Чернобай с новым выпуском рассылки «Php-песочница». Сегодня рассмотрим ещё один оператор – оператор цикла while.

Оператор цикла while имеет следующий синтаксис:

- while (условие) {действие, которое нужно выполнять, пока условие верно}

В переводе на «человеческий» это можно прочитать так же, как мы читали выражение «if (условие) {действие, которое нужно выполнить при заданном условии}» - «если выполняется это условие – выполняй такое-то действие».

Однако разница существует.

В случае с оператором if условие выполняется один раз: выполнилось и программа остановилась. В цикле while действие выполняется сколь угодно много раз – до тех пор, пока выполняется условие.

Это лучше всего пояснить на конкретном примере.

Возьмём для примера систему регистрации на сайте.

Пусть на сайте зарегистрировано несколько человек… допустим 100. При регистрации каждый получает уникальное имя (логин) и пароль, по которым может войти в свой аккаунд, в секретный раздел и т. п.

стественно, логины и пароли зарегистрированных пользователей записываются в отдельный файл (или базу данных), где и хранятся всё время.

Итак, однажды вы зарегились на сайте, получили логин и пароль, которые записались в специальный файл.

Через некоторое время Вы пришли на этот сайт, ввели в специальную форму свои логин с паролем, чтобы попасть в свой аккаунд, нажали кнопку «Войти»… 

Что делает при этом программа?

Она «берёт» ваш логин и ваш пароль, «идёт» с ними в файл, где записаны данные всех зарегистрированных пользователей, и сравнивает по очереди введённые вами данные с записанными.
Сравнила с первой строкой – не то; со второй – не то; с третьей… и т. д. То есть операция сравнения с заданным условием повторяется, образуя цикл – такое количество повторений, какое необходимо, чтобы определить, зарегистрированы вы на сайте или нет.

Чтобы не вязнуть в теории, рассмотрим конкретный пример – создадим что-нибудь полезное, например, форму и скрипт  регистрации на сайте, а также форму и скрипт проверки регистрации. И уже в этих примерах рассмотрим, как применяются знакомые нам операторы if – else и while.

"PHP+MySQL для начинающих" >>>>>

Создаём форму и скрипт регистрации на сайте.

Начнём с формы.

Откройте в Блокноте индексный файл нашего сайта (то есть, я все упражнения выполняю в одном файле, не удаляя предыдущие, а Вы делайте, как Вам удобно, можете каждый раз создавать новый файл с новым именем. Только не забывайте про расширение .php файла и для запуска в браузере нужно будет вводить его имя).

Ниже созданной ранее формы (см. Выпуск 3 расслылки) для проверки пароля добавим следующий код (код зелёным, так как он новый):

<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>

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

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

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

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

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

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

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

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

Успехов.

Андрей Чернобай
kapitansg@yandex.ru


В избранное