Далее будет рассмотрен пример совместной работы языка РНР с базой данных СУБД MySQL “Travel”, состоящей из четырех таблиц - “Hotel”, “Putevka”, “Turist” и “Turoperator”.
Имеется форма для добавления данных о туристе. Необходимо осуществить обработку данных пользователя из форм. Всю информацию о туристе необходимо сохранить в базу данных. К этой информации относится порядковый номер туриста, фамилия, имя, отчество, серия и номер паспорта.
HTML-код добавления информации в базу данных представлен ниже.
<HTML>
<HEAD>
<TITLE> Турагенство "Travel" - Добавление данных о туристе
</TITLE>
</HEAD>
<BODY>
<H1> Турагенство "Travel".</H1>
<H2> Добавление данных о туристе.</H2>
<FORM method="POST" action="example.php">
<INPUT type="hidden" name="posted" value="true">
<<TABLE border=0> <TR><TD>Фамилия:</TD>
<TD><INPUT name="SecondName" type="text"></TD>
</TR><TR><TD>Имя:</td>
<TD><INPUT name="FirstName" type="text"></TD>
</TR><TR> <TD>Отчество: </td>
<TD><INPUT name="Patronym" type="text"></TD>
</TR><TR><TD>Серия паспорта:</TD>
<TD><INPUT name="SeriaPassport" type="text"></TD>
</TR><TR><TD>Номер паспорта:</TD>
<TD><INPUT name="NumberPassport" type="text"></TD>
<TR><TD colspan=2><INPUT type="submit" value="Добавить"></TD></TR>
</TABLE>
</FORM>
</BODY>
</HTML>
В данном примере при загрузке Web-страницы на экране появляется форма, содержащая пять однострочных текстовых полей, в которые необходимо ввести информацию о туристе. Затем необходимо нажать кнопку “Добавить”. После этого подключится обработчик, указанный в атрибуте “action” тега “form”. В данном примере это файл example.php.
Код файла-обработчика представлен ниже.
<HTML>
<HEAD>
<TITLE> Турагенство "Travel" - Добавление данных о туристе
</TITLE>
</HEAD>
<BODY>
<H1> Турагенство "Travel".</H1>
<H2> Добавление данных о туристе.</H2>
<?php
if (isset($_POST['posted']))
{ $SecondName = $_POST['SecondName'];
$FirstName = $_POST['FirstName'];
$Patronym = $_POST['Patronym'];
$SeriaPassport = $_POST['SeriaPassport'];
$NumberPassport = $_POST['NumberPassport'];
//передача данных из формы на сервер
if ($SecondName == "" or $FirstName == "" or $Patronym == ""or $SeriaPassport == ""or $NumberPassport == "")
{ echo "Необходимо ввести имя - нажмите кнопку Назад и заполните форму еще раз"; exit; }
$SecondName = addslashes($SecondName);
$FirstName = addslashes($FirstName);
$Patronym = addslashes($Patronym);
$SeriaPassport = addslashes($SeriaPassport);
$NumberPassport = addslashes($NumberPassport);
$db = @mysql_pconnect("localhost", "root");
if (!$db)
{ echo " Ошибка: Невозможно подключиться к MySQL серверу. Пожалуйста, попробуйте позже."; exit; }
mysql_SELECT_db("Travel");
$query = "INSERT INTO Turist(SecondName, FirstName, Patronym,SeriaPassport,NumberPassport) VALUES ('".$SecondName."','".$FirstName."','".$Patronym."','".$SeriaPassport."','".$NumberPassport."')";
$result = mysql_query($query);
if($result)
echo "<H3>Информация о туристе успешно добавлена в базу данных.</H3>"; }
?>
</BODY>
</HTML>
Реализация данного кода представлена на рисунке
Таким образом, в данном примере осуществлялось добавление данных в одну из таблиц базы данных “Travel”. В таблицу “Turist” добавляется информация в поля “SecondName”, “FirstName”, “Patronym”, “SeriaPassport” и “NumberPassport”. При этом происходит проверка заполнености всех полей формы. Если заполнены не все поля, то на экран выводится сообщение об ошибке и просьба о заполнении всех полей. Далее происходит подключение к базе данных. Если подключение невозможно, то на экран выводится соответствующее сообщение. Если подключение произошло успешно, выполняется сохранение в таблицу “Turist” данных, введенных в форму. К таким данным относится фамилия, имя, отчество туриста, номер и серия его паспорта. После удачного заполнения пользователю выводится сообщение “Информация о туристе успешно добавлена в азу данных”.
Как видно на рисунке 8.35, в данном примере в таблицу “Turist” была добавлена запись: “Семенов Николай Петрович 5304 096572”.