print $n_vis;
?>
7. Файловый ввод/вывод. Работа с формами. Строковые функции.
Доработайте предлагаемый ниже сценарий, реализующий гостевую книгу. Чтение из файла осуществить с помощью функции fgets или fread. Сообщения должны быть отсортированы по времени отправки: более новые располагаются выше старых. При отображении сообщений нужно организовать автоматические разрывы, так чтобы длина строк не превосходила 50 символов. Сценарий должен реагировать на незаполненные текстовую область и поле.
<html>
<head><title>Гостевая книга</title></head>
<body>
Сообщение:<br>
<form action="guestbook.php" method="post">
<textarea name="txt" cols="40" rows="8">
</textarea>
<br><br>
Имя:<br>
<input type="text" name="login">
<br>
<input type="submit" name="a" value="Отослать">
<br><br>
</form>
<?
if(isset($a)){
$fm = fopen("guestbook.txt","a");
$str = "<i>".date("H:i:s, d F Y")."\n$login</i>\n$txt<br>\n";
fwrite($fm,$str);
fclose($fm);
}
$m = file("guestbook.txt");
$i=0;
while(isset($m[$i])){
print $m[$i]."<br>";
$i++;
}
?>
</body>
</html>
Переделайте гостевую книгу из лаб. работы 7. Хранение всех данных должно осуществляться в таблице базы данных. Добавить режим регистрации посетителей. Указываемые при регистрации данные: логин, пароль, фамилия, имя, е-мэйл, дата рождения. Сценарий должен посредством регулярных выражений осуществлять проверку корректности ввода персональной информации по каждой позиции (требования корректности – на усмотрение разработчика, исходя из здравого смысла).
Приложение
1. Работа с регулярными выражениями
Примеры шаблонов:
/ph+/ совпадение шаблона: phhhh, php4, phh
/ph{2,4}/ совпадение шаблона: phh, phhhhp4
Метасимволы:
\d – любая цифра. Пример: /(\d+)000\b/ - цифры, заканчив. 000.
\w – любой алф-цифровой символ
\W – любой символ не являющ., алф-цифр. Пример: /(\W+)/
\b – граница слова. Пример: /sa\b/ - строки, заканчив. на ‘sa’.
\B – не граница. Пример: /sa\B/ - строки, не заканчив. на ‘sa’.
Функции:
preg_match (шаблон, строка [ , массив совпадений ]) – совпадение шаблона в строке
preg_grep( шаблон, массив) à массив
- перебирает все элементы и возвращает те, где совпадает шаблон.
Пример. Поиск шаблона в строке.
<html>
<head><title>Поиск шаблона </title></head>
<body>
Строка:<br>
<form action="regexp.php" method="post">
<input type="text" name="str" value=<?if(isset($a)) print $str;?>>
<br><br>
Регулярное выражение:<br><br>
<input type="text" name="re" value=<?if(isset($a)) print $re;?>>
<br><br>
<input type="submit" name="a" value="Отослать"><br><br>
</form>
<?
if(isset($a)){
if(preg_match($re,$str)) print "Совпало!";
else print "No";
}
?>
</body>
</html>
2. Функции PHP для работы с MySQL
2.1. Подключение к серверу MySQL
[идентификатор соединения = ]
@mysql_connect (хост, имя пользов, пароль) or die (“соединение не может быть уст-но”);
2.2. Выбор базы данных
[идентификатор базы = ] @mysql_select_db (имя бд) or die (“соединение не может быть уст-но”);
2.3. Завершение работы с MySQL
@mysql_close (идентификатор соединения);
2.4. Организация запросов к БД
[идентификатор результата = ] @mysql_query (запрос [, идентиф соедин]);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.