Получение данных формы
В большинстве случаев введенные пользователями данные формы записывают в СУБД, такую, как MS Access и MySQL, с помощью функций ODBC и MySQL, рассмотренных в разделах 9 и 10. Аналогичным образом данные формы можно также записать в текстовый файл. Этот раздел описывает, как использовать PHP для получения данных формы и записи их в текстовый файл.
Рассмотрим приведенную выше страницу с формой. Следующий пример показывает, как записать отправленные данные формы в текстовый файл:
<?php if ($_POST['SubmitB'] == "Submit Data"){$file_name = "c:\formfile.txt";$open_file = fopen($file_name, "a+"); $file_contents= $_POST['FName'] . "," . $_POST['LName'] . "," . $_POST['DateTime'] ."\n"; fwrite($open_file,$file_contents); fclose($open_file); echo "Данные формы успешно записаны в файл";}?> <!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <title>Страница Web </title></head><body> <p>Запись данных формы в файл </p> <p><form method="post" action="createfile.php"> Enter First Name <input type="text" name="FName"/><br/><br/>Enter Last Name <input type="text" name="LName"/><br/><br/><input type="hidden" name="DateTime" value="<?php echo date('g:i a') ?>"/><input type="submit" name="SubmitB" value="Submit Data"/> </form></p> </body></html>Пример 11.1.
В этом примере форма страницы XHTML содержит текстовое поле для имени и фамилии пользователя. Также кодируется скрытое поле, в которое заносится с помощью функции PHP date() текущие дата и время. Когда нажимается кнопка отправки формы, создается новый текстовый файл 'formfile.txt' и открывается в режиме добавления:
$file_name = "c:\formfile.txt";$open_file = fopen($file_name, "a+");Затем переменной $file_contents присваиваются значения суперглобальных переменных POST, содержащие имя и фамилию пользователя и текущее значение даты и времени. К строкам присоединяется запятая, чтобы создать разграничители этих значений. В конце каждой строки добавляется символ новой строки для создания возврата каретки:
$file_contents= $_POST['FName'] . "," . $_POST['LName'] . "," . $_POST['DateTime'] ."\n";Наконец, содержимое переменной $file_contents записывается (добавляется) в текстовый файл. Файл закрывается, и используется оператор echo для вывода подтверждающего сообщения в окне браузера:
fclose($open_file);echo "Данные формы успешно записаны в файл";Дата добавления: 2015-04-19; просмотров: 670;