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


Функция trim()

Функция trim() отсекает лишние пробелы в начале и в конце строки. Это нужно на случай, если при вводе пароля или имени в форму регистрации пользователь по невнимательности добавил пробел. Для программы пробел – тоже символ, и в файл данные запишутся вместе с пробелом. Потом, при попытке повторного входа на сайт, пользователь может пробел не ввести, и программа скажет о неверном имени/пароле.

Можете даже проверить всё, что я тут сказал, на созданной нами форме регистрации. Введите при регистрации какое-нибудь имя и прибавьте к нему пару пробелов. Потом попробуйте войти с этим именем, но без пробелов. Вылезет сообщение, что имя указано не верно. То же будет с паролем.

В общем, давайте доработаем нашу форму, застраховавшись от лишних пробелов.

Открываем reg.php и после проверки, заполнены ли поля формы, добавляем код:

<?php
if (($name == "") || ($password == "") || ($email == ""))
{
echo "<p>Форма заполнена не полностью! Вернитесь, пожалуйста, и заполните все поля формы!</p>";
exit ();
}
else
{
/*удаляем лишние пробелы из формы*/
$name = trim ($name);
$password = trim ($password);
$email = trim ($email);

$newfile = fopen($name, "w");
fwrite ($newfile, $password);
fwrite ($newfile, "\n");
fwrite ($newfile, $email);
fwrite ($newfile, "\n");
fclose ($newfile);
echo "<p>Поздравляем Вас, " .$name. ". Регистрация прошла успешно.</p>";
}
/*чтение из файла с помощью функции fread */
$file = fopen($name, "r");
$n = fread ($file, 100);
echo "<p>Ваш пароль: " .$n. ". Сохраните его.</p>";
fclose ($file);
/*чтение из  файла с помощью функции file и массива*/
$rfile = fopen($name, "r"); /*открываем файл только для чтения*/
$data = file($name); /* считываем открытый файл в массив $data*/
echo "Ваш пароль: " .$data[0]. ". Ваш электронный адрес: " .$data[1]. ". Сохраните свои данные."; //выводим из массива на страницу
fclose ($rfile); //закрыли файл
?>

Сохраните изменения.

Открываем testreg.php и также после проверки на заполненность формы добавляем код:

<?php
/*проверяем, заполнены ли все поля формы*/
if (($name == "") || ($pass == ""))
/*если не заполнены, выводится сообщение*/
{
echo "<p>Форма заполнена не полностью! Вернитесь, пожалуйста, и заполните все поля формы!</p>";
exit (); /*и программа останавливается*/
}
/*если все поля формы заполнены, следуем дальше*/
else
{
/*удаляем лишние пробелы из формы*/
$name = trim ($name);
$pass = trim ($pass);

if (!file_exists($name))
{
echo "<p>Имя пользователя указано не верно. Заполните форму внимательно или зайдите на сайт под своим именем.</p>";
}
else
{
$rfile = fopen ($name, "r"); /*открываем для чтения файл, имя которого совпадает с именем из формы*/
$data = file ($name);/*читаем из открытого файла*/
$newstr = strtok ($data[0], "\n"); /*удаляем из первого элемента массива data код перехода на новую строку*/
/*так как пароль находится в первой строке открытого файла, то нужно сравнить пароль из формы с этой первой строкой*/
if (strcmp ($newstr, $pass) == 0)
{
echo "<p>У Вас есть права зарегистрированного пользователя.</p>";
}
else
{
echo "<p>Ведённый пароль не верный.</p>";
}
}
}
?>

Сохраните изменения. Теперь проверьте работу формы, заведомо вводя при регистрации имя с пробелами в конце или в начале. Потом, при проверке, введите имя без пробелов. Сообщения об ошибке не будет.

Успехов. >>>>>>>

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

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

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



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

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

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

Видеокурсы

Рассылки

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

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

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

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

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