Пример: С помощью форм, произвести регистрацию пользователя. Поля: e-mail, дата рождения, ФИО. Произвести проверку данных на корректность.
Текст программы:
<?php
echo "<p>Лабораторная работа № 7</p>";
echo "<p>© <b>Разработал студент КИТ-27а Дьяков Александр Владимирович.</b></p>
<p>Задание: С помощью форм, произвести регистрацию пользователя. Поля: e-mail, дата рождения, ФИО.
<br>Произвести проверку данных на корректность.<br><br>";
if (isset($_POST['FIO'])) {$FIO = $_POST['FIO'];}
if (isset($_POST['date'])) {$date = $_POST['date'];}
if (isset($_POST['mail'])) {$mail = $_POST['mail'];}
if ((isset($FIO)) && (isset($date)) && (isset($mail)))
if (empty($FIO) or empty($date) or empty($mail)) {echo "* Введены не все поля.";}
else
{
$ident = "";
if (!preg_match("/([^\s]+)\s+([^\s.])[^\s.]*(?:\s|\.)([^\s.])[^\s.]*/", strtolower($FIO)))
{
$ident = "$ident* Вы ввели неправильно ФИО. Пример: Иванов Иван Иванович<br>";
}
if (!preg_match("/^(?:[a-z0-9]+(?:[-_]?[a-z0-9]+)?@[a-z0-9]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i",trim($mail)))
{
$ident = "$ident* Вы ввели неправильно почту<br>";
}
$b = split ("\.", $date); // функция разбивает строку на числа, используя разделитель - точка
$YearNow = date("Y");
if($b[1] > 0 && $b[1] <= 12)
{
if($b[1] == 1 || $b[1] == 3 || $b[1] == 5 || $b[1] == 7 || $b[1] == 8 || $b[1] == 10 || $b[1] == 12 ) $day = 31;
if($b[1] == 4 || $b[1] == 6 || $b[1] == 9 || $b[1] == 11 ) $day = 30;
if($b[1] == 2 ) { if ($b[2] % 4 == 0 ) $day = 29; else $day = 28; }
}
if($b[0] <=0 || $b[0] >$day){ $ident = "$ident* Вы ввели неправильно дату своего рождения. Формат должен быть: (XX.XX.XXXX). к примеру: 11.12.1986. Вам должно быть более 18 лет.<br>"; }
else if($b[1] <=0 || $b[1] >12){ $ident = "$ident* Вы ввели неправильно дату своего рождения<br>"; }
else if($b[2] > $YearNow-18 || $b[2] <= $YearNow - 120) { $ident = "$ident* Вы ввели неправильно дату своего рождения<br>"; }
if (empty($ident)) { echo $ident; echo "<font color=green>Поздравляем! Регистрация пользователя прошла успешно!</font>"; }
else { echo "<font color=red>".$ident."</font>"; }
}
?>
<form action="7.php" method="post" name="form_addbase">
<table>
<tr>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Ф.И.О.*</p>
<td>
<input type="text" name="FIO" size=50 value='<?= $FIO?>' maxlength=50
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<tr>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">E-mail:</p>
<td>
<input type="text" name="mail" size=50 value='<?= $mail ?>' maxlength=50
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<tr>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Дата рождения:</p>
<td>
<input type="text" name="date" size=50 value='<?= $date ?>' maxlength=50
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<tr>
<td>
<td>
<input type="submit" name="submit" value="Регистрация" style='border: 1px black solid; font-size: 11px; width:152; background-Color:#ffffff; color:black;'>
</tr>
</table>
</FORM>
Результат работы: