Файл lab6.php
<?php
// Функция генерации формы
function get_form($msg='', $passport='')
{
$t = '<b>'.$msg.'</b><br/>';
$t.= '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
$t.= '<input type="text" name="passport" value="'.$passport.'" />';
$t.= '<input type="submit" value="Go!" />';
$t.= '</form>';
return $t;
}
// Если из формы не переданы данные,
// следует просто показать форму
if (!isset($_POST['passport']))
{
echo get_form();
}
else
{
// Проверка корректности данных
if (!preg_match("/^[A-Z]{2}\d{7}$/", $_POST['passport']))
{
echo get_form('Вы неверно указали номер паспорта!', htmlspecialchars($_POST['passport']));
}
else
{
// Установка соединения с СУБД и выбор БД
$lnk = mysql_connect('127.0.0.1', 'root', '123456');
mysql_select_db('db', $lnk);
// Выполнение запроса
mysql_query("INSERT into `passports` (`passport`) VALUES ('".mysql_real_escape_string($_POST['passport'], $lnk)."')", $lnk);
// Анализ результата выполнения запроса
if (mysql_affected_rows($lnk)==1)
{
echo get_form('Данные добавлены успешно!');
}
else
{
echo get_form('Такой номер паспорта уже есть в БД!', htmlspecialchars($_POST['passport']));
}
// Закрытие соединения с СУБД
mysql_close($lnk);
}
}
?>
Пример выполнения работы №7
Вариант N: написать скрипт, устанавливающий пользователю десять куки со случайными именами и значениями, срок действия первой из которых – один час, а у каждой следующей на час больше.
|
|
Решение
Файл lab7.php
<?php
// Функция генерации случайного имени произвольной длины
function get_random_name($len)
{
$name = '';
for ($i=0; $i<$len; $i++)
{
$char = chr(mt_rand(ord('a'), ord('z')));
$name.= $char;
}
return $name;
}
// Срок годности первой куки
$best_before = time()+3600;
// Установка куки
for ($i=0; $i<10; $i++)
{
setcookie(get_random_name(10), mt_rand(0,1000), $best_before);
$best_before+=3600;
}
?>
Пример выполнения работы №8
Вариант N: написать скрипт, предоставляющий пользователю информацию, которую сервер сумел получить о его браузере, операционной системе, принимаемых кодировках, ip-адресе и иных параметрах.
Решение
Файл lab8.php
<?php
echo 'Информация о вашем браузере и ОС: '.$_SERVER['HTTP_USER_AGENT'].'<br />';
echo 'Ваш браузер принимает документы: '.$_SERVER['HTTP_ACCEPT'].'<br />';
echo 'Вы предпочитаете языки: '.$_SERVER['HTTP_ACCEPT_LANGUAGE'].'<br />';
echo 'Ваш браузер принимает кодировки: '.$_SERVER['HTTP_ACCEPT_CHARSET'].'<br />';
echo 'Вы зашли с ip-адреса: '.$_SERVER['REMOTE_ADDR'].'<br />';
?>
ЛИТЕРАТУРА
1. Костарев, А. PHP 5 в подлиннике / А. Костарев, Д. Котеров. – М.: BHV, 2009.
2. Холзнер, С. PHP в примерах / С. Холзнер. – М.: Бином, 2009.
3. Фридл, Дж. Регулярные выражения / Дж. Фридл – М.: Симовл, 2008.
4. Грабер, М. SQL / М. Грабер. – М.: Лори, 2009.
5. Кинкоф, Ш. HTML / Ш. Кинкоф. – М.: НТ Пресс, 2008.