КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Загрузкa файла с помощью формы и сценария
Теперь, когда вы создали форму и сценарий для загрузки файла, проверим, как все это работает.
Запустите свой Web-браузер, в поле ввода Адрес введите http://localhost/php/Lab9_0.php и нажмите клавишу Enter. Браузер загрузит страницу Загрузка файла (рис. 3.130). Нажмите кнопку Обзор. На экране появится диалог Выбор файла. В качестве файла пересылки укажите файл "W:\home\localhost\www\php\img\footer.jpg" (рис. 3.132).
Рис. 3.132. Выбор файла для отсылки на сервер.
Используя этот диалог, найдите на своем компьютере любой файл с изображением размером не более 2 Мбайт, выберите его и нажмите кнопку Открыть. Диалог Выбор файла закроется, а имя выбранного файла с полным путем будет помещено в поле ввода Файл для загрузки (рис. 3.133). Нажмите кнопку Загрузить на сервер(рис. 3.133).
Рис. 3.133. HTML форма на экране.
По окончании загрузки в рабочем окне браузера появится сообщение об успешном ее завершении (Рис. 3.134).
Рис. 3.134. Сообщение об успешном завершении загрузки файла.
Чтобы убедиться, что файл действительно был загружен, выполните следующие действия: Выберите команду меню браузера Файл/Открыть. На экране появится диалог Открыть (рис. 3.135)
Рис. 3.135. Диалог Открыть
В поле ввода Открыть введите полный путь к загруженному файлу, в нашем случае это w:/tmp/footer.jpg, и нажмите клавишу Enter. Или в поле Адрес браузера укажите file://localhost/W:/tmp/footer.jpg и на экране получите следующее (рис. 3.136) Окно браузера отобразит загруженный на ваш Web-сервер файл.
Рис. 3.136. Файл, который был загружен с использованием созданного сценария
Если в программе Lab9_0.php указать другой обработчик (например, Lab9_2.php, рис. 3.137) и переслать этот же файл: "W:\home\localhost\www\php\img\footer.jpg"
<?PHP $myfile_size = $_FILES["myfile"]["size"];//Размер файла $myfile_type = $_FILES["myfile"]["type"];//Тип файла $error_flag = $_FILES["myfile"]["error"]; $myfile_name = $_FILES["myfile"]["name"];//Имя файла if ($myfile_name!="") { echo "Можно копировать файл myfile=".$_FILES["myfile"]["tmp_name"]." <br> ";
if(@copy($_FILES["myfile"]["tmp_name"], "w:/tmp/".$_FILES["myfile"]["name"])) { echo("Файл успешно загружен <br>"); $myfile = $_FILES["myfile"]["tmp_name"]; $fp = fopen($myfile,"r"); $content = fread($fp, filesize($myfile)); fclose($fp); // Вывод содержимого файла на экран print($content); } else { echo("Ошибка. Невозможно скопировать файл!!"); } } else { die ("Файл не обнаружен!!"); } ?> <html> <head> <title>Lab9_2 Загрузка файла</title> </head> <body> <h2>Загрузка файла завершена успешно</h2> <p>Вы отправили файл <? echo "$myfile_name";?> </p> <p>Размер файла: <? echo "$myfile_size";?> байт </p> <p>Тип файла: <? echo "$myfile_type";?> </p> <p>Результат получен в обработчике Lab9_2.php </p> </body> </html> Рис. 3.137. Файл, который был загружен с использованием созданного сценария
Запуск модифицированной программы Lab9_0.php приводит к следующему результату (рис. 3.138).
Рис. 3.138. Файл, который был загружен с использованием созданного сценария Lab9_2.php
Задание 2. Автоматическая отправка данных по электронной почте. Lab9_4.php.
Вывести пользовательские данные в браузере несложно, но вряд ли это можно назвать содержательной обработкой пользовательского ввода. Один из способов обработки информации заключается в ее отправке по электронной почте -- например, администратору сайта.
В следующем разделе, создается небольшая форма (рис. 3.139), в которой пользователь вводит информацию и комментарии по поводу сайта. После ввода информации данные форматируются соответствующим образом (рис. 3.140) и передаются стандартной функции PHP mail(). Функция mail() отправляет сообщение заданному адресату по электронной почте.
Рис. 3.139. Форма ввода
Синтаксис функции mail ().
boolean mail (string получатель, string тема, string сообщение [, string доп_заголовки])
В параметре тема передается тема сообщения. Параметр сообщение содержит текст сообщения, а необязательный параметр доп_заголовки предназначен для включения дополнительной информации (например, атрибутов форматирования HTML), пересылаемой с сообщением.
В системе UNIX функция mail() использует утилиту sendmail. В Windows эта функция работает лишь при наличии установленного почтового сервера или если функция mail() связана с работающим сервером SMTP. Эта задача решается модификацией переменной SMTP в файле php.ini.
Если вы сделали все необходимое и функция mail() работает в вашей системе, попробуйте выполнить следующий фрагмент (конечно, адрес webserver@example.com заменяется вашим настоящим адресом электронной почты). <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Lab9_4 Отправка по Email</title> </head> <body bgcolor="#ffffff" text="#000000" link="#cbda74" vlink="#808040" alink="#808040"> <p>Lab9_4.php</p>
<? function sendMail($name,$email,$feedback)//пользовательская функция, //используюшая стандартную функцию Email //$name - Фамилия, имя клиента //$email - Email клиента //$feedback -мнение клиента { $toaddress = 'feedback@example.com'; $subject = 'Обратная связь от Web-сайта'; $mailcontent = 'ФИО клиента: '.$name."\n" .'Email-адрес клиента: '.$email."\n" ."Комментарии клиента: \n".$feedback."\n"; $fromaddress = 'From: webserver@example.com';
echo ("<br>Сообщение на Mail <br>".$mailcontent."<br>"); // кому тема сообщение отправитель mail($toaddress, $subject, $mailcontent, $fromaddress) or die("Could not send email!"); // echo ("После вызова функции nl2br<br>"); //функция nl2br заменяет в переданной ей строке все //символы новой строки (\n) на символ <br/>. echo ("Сообщение <br>".nl2br($mailcontent).""); return true; } // конец тела функции
// тело основной пограммы $name = $_POST['name']; $seenform=$_POST['seenform']; $email=$_POST['email']; $feedback=$_POST['feedback'];
// Создать форму $form = " <form action=\"Lab9_4.php\" method=\"post\"> <input type=\"hidden\" name=\"seenform\" value=\"z\"> <b>Пожалуйста, сообщите Ваше мнение о нашей работе.</b><br> Фамилия, имя:<br> <input type=\"text\" name=\"name\" size=\"20\" maxlength=\"20\" value=\"$name\"><br> Ваш Email:<br> <input type=\"text\" name=\"email\" size=\"20\" maxlength=\"40\" value=\"$email\"><br> Ваше мнение:<br> <textarea name=\"feedback\" rows=\"3\" cols=\"30\"></textarea><br> <input type=\"submit\" value=\"Отправить мнение\"> </form>";//конец создания формы
if ($seenform!= "z"): // Заполнялась ли форма ранее? print "$form"; // Первая прорисовка формы else: // Пользователь заполнил форму. Проверить введенные данные. $error_flag = "n"; //признак что ошибок при заполнении формы нет if ($name == ""): //поле имени не содержит информацию print "<font color=\"red\"> Вы забыли ввести Ваше имя </font><br>"; $error_flag = "y";//признак наличия ошибки else: if ($email == ""):// поле адреса не содержит информацию $error_flag = "y"; print "<font color=\"red\">Укажите правильный email address! Он не должен быть пустым.</font><br>"; else: //Преобразовать все алфавитные символы в адресе электронной почты $email = strtolower(trim($email));// к нижнему регистру endif; //if ($email == "") endif; //if ($name == "")
if(!empty($_POST['email'])): //Убедиться в правильности синтаксиса адреса электронной почты //Будем считать, что стандартный адрес электронной почты выглядит так: //admin@mail.ru //Адрес состоит из двух частей это: // admin - имя пользователя. // mail.ru - домен, доменное имя. //Их разделяет знак @(собака). //Имя пользователя - может состоять из букв разного регистра, //цифр, знаков подчёркивания, точек, минусов. //Доменное имя - так же может состоять из букв разного //регистра, цифр, знаков подчёркивания, точек, минусов.
if(preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['email'])): echo $_POST['email']. " Email - Правильный."; $error_flag = "n"; sendMail($name,$email,$feedback); //отсылка почты else: $error_flag = "y"; echo $_POST['email']. " Email - НЕправильный.<br>"; print "<font color=\"red\"> Пример правильного возможного email: admin@mail.ru</font><br>"; endif; else: //echo "Вы не ввели email.".$error_flag; if ($error_flag == "y"): // Если флаг ошибки $error_flag установлен, то // echo "заново отобразить форму."; print "$form"; else: // Обработать данные пользователя print "<br>Данные введены правильно<br>"; sendMail($name,$email,$feedback); endif; endif; //if(!empty($_POST['email'])) endif; ?> </body> </html> Рис. 3.140. Файл Lab9_4.php для создания формы ввода и отправки данных по электронной почте.
Пусть пользователь ввел в форму (рис. 3.139) следующую информацию (рис. 3.141).
Рис. 3.141. Заполненная форма (файл Lab9_4.php). Если пользователь использует кнопку
Рис. 3.142. Сообщение для пользователя (файл Lab9_4.php, функция sendMail()). В теле функции sendMail() использована стандартная функция nl2br, которая заменяет в переданной ей строке все символы новой строки (\n) на символ <br/>. Таким образом после оператора echo ("Сообщение <br>".nl2br($mailcontent).""); будет выведено сообщение вида (рис. 3.143)
Рис. 3.143. Сообщение для пользователя (файл Lab9_4.php, функция nl2br()).
Задание 3.Сохранение пользовательских данных в текстовом файле Lab9_5.php
Пользовательские данные сохраняются в текстовом файле для последующего статистического анализа, поиска и т. д. -- короче, любой обработки по вашему усмотрению. В листинге 3.144, как и в предыдущих примерах, данные формы обрабатываются в одном сценарии. Пользователю предлагается ввести четыре объекта данных: имя, адрес электронной почты, язык и профессию. Введенная информация сохраняется в текстовом файле lab9_5.txt. Элементы данных разделяются символами «вертикальная черта» (|).
Листинг 9.18. Сохранение пользовательской информации в текстовом файле. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Lab9_5 Запись в текстовый файл</title> </head> <body> <p>Lab9_5.php Запись ввода в текстовый файл lab9_5.txt</p>
<?PHP //тело основной программы $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; //Например, DOCUMENT_ROOT= W:/home/localhost/www $name = $_POST['name']; $seenform=$_POST['seenform']; $email=$_POST['email']; $job=$_POST['job']; $language=$_POST['language'];
// Создать форму $form = " <form action=\"Lab9_5.php\" method=\"post\"> <input type=\"hidden\" name=\"seenform\" value=\"z\"> <b>Укажите Ваши данные!<br> <?php /*?> <?php Внимание! Тег b не закрываем */?> Фамилия, имя:<br> <input type=\"text\" name=\"name\" size=\"20\" maxlength=\"20\" value=\"$name\"><br> Ваш Email:<br> <input type=\"text\" name=\"email\" size=\"20\" maxlength=\"40\" value=\"$email\"><br>
Ваш предпочитаемый язык:<br> <select name=\"language\"> <option value=\"\">Выберите язык: <option value=\"English\">Английский <option value=\"Spanish\">Испанский <option value=\"Italian\">Итальянский <option value=\"French\">Французкий </select><br> Ваше занятие:<br> <select name=\"job\"> <option value=\"\">Кто Вы?: <option value=\"student\">Студент <option value=\"programmed\">Программист <option value=\"manager\">Менeджер <option value=\"slacker\">Пенсионер </select><br> <input type=\"submit\" value=\"Зафиксировать в файле\"> </form>";
if ($seenform!= "z"): // Заполнялась ли форма ранее? print "$form"; // echo " Первая прорисовка формы"; //exit; else://Заполнили форму. Проверить введенные данные. $error_flag = "n"; //признак что ошибок нет if ($name == ""): // Убедиться в том, что поле имени содержит информацию print "<font color=\"red\"> Вы забыли ввести Ваше имя</font><br>"; $error_flag = "y";//признак наличия ошибки else: //Убедиться в том, что поле адреса содержит информацию if ($email == ""): $error_flag = "y"; print "<font color=\"red\">Укажите правильный email address! Он не должен быть пустым.</font><br>"; else: // Преобразовать все алфавитные символы в адресе // электронной почты к нижнему регистру $email = strtolower(trim($email)); endif; //if ($email == "") endif; //if ($name == "")
if(!empty($_POST['email'])and $error_flag == "n"): //Убедиться в правильности синтаксиса адреса электронной почты //Будем считать, что стандартный адрес электронной почты выглядит так: // admin@mail.ru //Адрес состоит из двух частей это: // admin - имя пользователя. // mail.ru - домен, доменное имя. //Их разделяет знак @(собака). //Имя пользователя - может состоять из букв разного //регистра, цифр, знаков подчёркивания, точек, минусов. //Доменное имя - так же может состоять из букв разного //регистра, цифр, знаков подчёркивания, точек, минусов.
if(preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['email'])): //echo $_POST['email']. " Email - Правильный.<br>"; $error_flag = "n"; echo "Данные введены. Можно формировать файл lab9_5.txt<br>";
$fd = fopen($DOCUMENT_ROOT."/../lab9_5.txt", 'ab'); echo 'Открыть файл для добавления<br>Путь=' .$DOCUMENT_ROOT."/../lab9_5.txt".'<br>Результат открытия='.$fd.'<br />';
if (!$fd): // ошибка открытия файла echo '<p><strong> Файл lab9_5.txt не доступен. <br></strong> </p></body></html>'; exit;//выход из программы endif; //Убедиться, что во введенных данных не встречается вертикальная черта. $name = str_replace("|", "", $name); $email = str_replace("|", "", $email); // Построить строку с пользовательскими данными $user_row = $name." ".$email."|".$language." ".$job."\n"; fwrite($fd, $user_row) or die("Could not write to file!"); fclose($fd); print "<br>Спасибо что уделили время для ответов на вопросы"; print "<br>Строка в файле ".$user_row; else://шаблон Email не точен $error_flag = "y"; echo $_POST['email']. " Email - НЕправильный.<br>"; print "<font color=\"red\"> Пример правильного возможного email: admin@mail.ru</font><br>"; endif; else: //echo "Вы не ввели email.".$error_flag; if ($error_flag == "y"): // Если флаг ошибки $error_flag установлен, то заново отобразить форму.; print "$form"; endif; //if ($error_flag == "y"): endif; //if(!empty($_POST['email'])) endif; ?> </body> </html> Рис. 3.144. Файл Lab9_5.php, запись данных в текстовый файл.
Обратите внимание на фрагмент: $name = str_replace("|", "", $name); $email = str_replace("|", "", $email);
В данном фрагменте мы проверяем, что пользователь не включил в имя или адрес электронной почты символы «вертикальная черта» (|). Функция str_replace() удаляет эти символы, заменяя их пустой строкой. Если бы это не было сделано, пользовательские символы | нарушили бы структуру файла данных и существенно затруднили (а то и сделали невозможным) его правильную обработку. При работе с относительно малыми объемами информации вполне можно обойтись текстовыми файлами. Однако при большом количестве пользователей или объеме сохраняемой информации для хранения и обработки данных, введенных в форме, лучше воспользоваться базой данных. Эта тема подробно рассматривается далее в лабораторных.
Согласно кода программы, показанного на рис. 3.144 на экран будет выведена форма рис. 3.145. Заполненная форма ввода показана на рис. 3.146, а результат работы программы (при условии, что пользователь ввел правильные данные) показан на рис. 3.147 и рис. 3.148.
Рис. 3.145. Форма ввода для кода Lab9_5.php.
Рис. 3.146. Заполненная форма ввода для кода Lab9_5.php. Если пользователь использует кнопку
Рис. 3.146a. Результат кода Lab9_5.php. Файл Lab9.txt
Рис. 3.147. Результат кода Lab9_5.php.
В коде программы показанной на рис. 3.144 использована функция $fd = fopen($DOCUMENT_ROOT."/../lab9_5.txt", 'ab'); которая в данном примере используется для открытия файла для добавления в него информации. Первым параметром указывается файл - $DOCUMENT_ROOT."/../lab9_5.txt", который должен быть открыт. Второй параметр - 'ab' – режим открытия файла (в данном случае режим 'ab' предполагает не только открытие для добавления в конец файла, но и создание файла, если он отсутствовал по указанному пути).
В примере для указания пути к файлу использована встроенная переменная $_SERVER['DOCUMENT_ROOT'. Эта переменная указывает на основание дерева документов используемого вами Web-сервера. Символ .. обозначает родительский каталог корневого каталога документов. В целях безопасности этот коталог находится вне дерева документов, чтобы этот файл не был доступен в WEB, кроме как только через разработанный Вами интерфейс. Этот путь называется относительным, поскольку он описывает позицию в файловой системе относительно корня документов.
Запись в файл в PHP осуществляется функцией: fwrite($fd, $user_row).
Где $fd – номер ресурса возвращенного функцией fopen, а $user_row – значение записываемое в файл.
Задание 4. Сохранение пользовательских данных в текстовом файле Lab9_6_0.php В данном задании создается форма ввода (рис. 3.148) предназначенная для заказа товара.
Рис. 3.148. Форма ввода, реализованная в коде Lab9_6_0.php.
Листинг программы для реализации формы представлен ниже.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Lab9_6_0 Запись в текстовый</title> </head> <body> <p>Lab9_6_0.php Запись в текстовый файл Lab9_6_1.txt</p> <h1>Автозапчасти </h1> <h2>Форма заказа</h2> <form action="Lab9_6_1.php" method=post> <table border=0> <tr bgcolor=#cccccc> <td width=150>Товар</td> <td width=15>Количество</td> </tr> <tr> <td>Автопокрышки</td> <td align=left><input type="text" name="tireqty" size=3 maxlength=3></td> </tr> <tr> <td>Машинное масло</td> <td align=left><input type="text" name="oilqty" size=3 maxlength=3></td> </tr> <tr> <td>Свечи зажигания</td> <td align=left><input type="text" name="sparkqty" size=3 maxlength=3></td> </tr> <tr> <td>Адрес доставки</td> <td align=center><input type="text" name="address" size=40 maxlength=40></td> </tr> <tr> <td colspan=2 align=center><input type=submit value="Отправить заказ"></td> </tr> </table> </form> </body> </html> Рис. 3.149. Код HTML (Lab9_6_0.php) для реализации формы рис. 3.148. Обработчик формы (как показано в теле кода формы на рис. 3.149) находится в файле Lab9_6_1.php (рис. 3.150).
Листинг обработчика. Файл Lab9_6_1.php. <?php // создать короткие имена переменных $tireqty = $_POST['tireqty']; //Автопокрышки $oilqty = $_POST['oilqty']; //Машинное масло $sparkqty =$_POST['sparkqty'];//Свечи зажигания $address = $_POST['address']; //Адрес доставки $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; //DOCUMENT_ROOT: W:/home/localhost/www ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Автозапчасти - Результаты заказа</title> </head> <body> <h1>Автозапчасти Lab9_6_1</h1> <h2>Результаты заказа</h2> <?php $date = date('H:i, jS F'); echo '<p>Заказ обработан в '.$date.'</p>'; if ($oilqty<0 or $oilqty<0 or $sparkqty<0): echo '<p><font color=\"red\">Заказ не принят!</font></p>'; echo 'Отрицательное число в элементах заказа<br></body></html>'; exit; endif;
echo '<p>Список вашего заказа: </p>';
$totalqty = 0; $totalqty = $tireqty + $oilqty + $sparkqty; echo 'Заказано товаров: '.$totalqty.'<br />';
if($totalqty == 0): //{ echo 'Вы ничего не заказали на предыдущей странице!<br />'; exit; //} endif;
if ($tireqty>0) echo $tireqty.' автопокрышек <br />'; if ($oilqty>0) echo $oilqty.' бутылок с маслом<br />'; if ($sparkqty>0) echo $sparkqty.' свечей зажигания<br />';
$totalamount = 0.00;//Итого по заказу define('TIREPRICE', 100); //стоимость автопокрышеки define('OILPRICE', 10); //стоимость бутылки с маслом define('SPARKPRICE', 4);
$totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;
$totalamount=number_format($totalamount, 2, '.', ' ');
echo '<p>Итого по заказу: '.$totalamount.'</p>'; echo '<p>Адрес доставки: '.$address.'</p>';
$outputstring = $date."\t" .$tireqty." автопокрышек\t" .$oilqty." бутылок с маслом\t" .$sparkqty." свечей зажигания\t\$" .$totalamount."\t".$address."\n"; //В качестве разделителя значений использован символ //горизонтальной табуляции "\t". В качестве разделителя //строк использована управляющая последовательность "\n"
//открыть файл для добавления //@$fp = fopen($DOCUMENT_ROOT."/../lab9_6_1.txt", 'ab'); //Верхний fopen откроет правильно, как и следующий оператор //но путь нахождения файла будет различен. @$fp = fopen($DOCUMENT_ROOT."/php/lab9_6_1.txt", 'ab');
/* echo 'Lab9_6_1 Открыть файл lab9.txt для добавления Путь='.$DOCUMENT_ROOT."/php/lab9_6_1.txt".' <br>Результат открытия='.$fp.' gettype(fp)='.gettype($fp).' <br />'; //открыть файл lab9_6_1.txt для добавления //Путь=W:/home/localhost/www/php/lab9_6_1.txt //Результат открытия=Resource id #3 gettype(fp)=resource */ if (!$fp) {echo '<p><strong>В настоящий момент ваш запрос не может быть обработан.<br>' 'Пожалуйста, попытайтесь позже.</strong></p></body></html>'; exit;} //запись в файл fwrite($fp, $outputstring, strlen($outputstring)); fclose($fp);//закрытие файла echo '<p>Заказ записан в файл (путь): '.$DOCUMENT_ROOT.'/php/lab9_6_1.txt.</p>'; ?> </body> </html> Рис. 3.150. Код обработчика Lab9_6_1.php, для реализации формы рис. 3.148. Если пользователь заполнит форму информацией вида:
Рис. 3.151. Пример заполненной формы. и использует кнопку
Рис. 3.152. Реакция обработчика на ошибочные действия пользователя при заполнении формы. Если пользователь использует кнопку
Рис. 3.153. Пример заполненной формы. реакция обработчика, после нажатия кнопки “Отправить заказ” показана на рис. 3.154. Введенная информация будет записана а текстовый файл функцией
fwrite($fp, $outputstring, strlen($outputstring));
Этот вызов указывает PHP на необходимость записи строки из переменной $outputstring в файл на который указывает $fp. Третий параметр функции strlen($outputstring) указывает на длину записи, заносимой в файл.
Например, состав текстового файла после добавления информации из формы показанной на рис. 3.153, представлен на рис. 3.155.
Рис. 3.154. Реакция обработчика на действия пользователя при заполнении формы.
продожение записи в файле Lab9_6_1.txt
Рис. 3.155. Состав файла Lab9_6_1.txt после заполнения формы.
Закрытие файла производится с помощью следующей функции:
fclose($fp);//закрытие файла Вероятность ошибки при закрытии файла намного меньше, чем при открытии файла, но она существует.
Дата добавления: 2014-12-07; Просмотров: 498; Нарушение авторских прав?; Мы поможем в написании вашей работы! |