Работа с формами. Программирование на Java Script, страница 6

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>

  1. Программирование на PHP. Работа с таблицами базы данных. Регулярные выражения.

Переделайте гостевую книгу из лаб. работы 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 (запрос [, идентиф соедин]);