Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [PHP] Скрипт обработки формы


Автор: Weman 7.3.2010, 19:21
Здравствуйте! Только начал изучать PHP и требуется ваша помощь в вопросе обработки форм.
Задача такая:
1. Разработать html страницу, содержащую форму (например, анкета). Необходимо включить разные активные элементы (текстовые поля, списки, кнопки, …).
2. Разработать РНР-программу, которая получает данные из формы, проверяет поля по их контекстному содержанию (например, поле e-mail должно содержать электронный адрес пользователя, поле с его ФИО буквенные символы, а не цифры или др.). В зависимости от полученного содержимого выводятся сообщения в окно браузера (сообщения об ошибках ввода). Результат заполнения формы должен записываться в файл, который в свою очередь выводится в окно браузера в структурированном виде html страницы.

Для начала я создаю простенькую форму с тремя элементами - Фамилия, Имя, E-mail и кнопку "Отправить" без всяких проверок на корректность ввода и записи в файл. Вот код:
Код

<form action = "process.php" method = "post">
<b>Фамилия</b><br> <input type="text" name="fam" size="15" maxlength="25" value="Vasya"><br>
<b>Имя</b><br> <input type="text" name="name" size="15" maxlength="25" value="Pupkin"><br>
<b>Email:</b><br><input type="text" name="email" size="20" maxlength="45" value="@gmail.com"><br>

<input type="submit" value="Отправить">
<input type="reset" value="Reset">
</form> 


Далее меня интересуют несколько вопросов:
1. Как организовать запись результатов в файл? (Извините, пока знаний не хватает)
2. Как выводить на html-страницу записи из файла? Как сделать, чтобы данные из файла выводились на новой html-странице?

Про проверку на корректность ввода спрошу потом по ходу дела. Заранее спасибо!


Автор: comtat 7.3.2010, 21:56
Цитата(Weman @  7.3.2010,  19:21 Найти цитируемый пост)
1. Как организовать запись результатов в файл?

Код

function _debug($var){
    $fp = fopen("debug.txt","a"); // открыть файл для  записи  (добавления)  в конец. Если данного файла нет, то вначале он создается.
    $msg = var_export($var,true); // возвращает строковое представление переменной
    if($msg[0] == "'") $msg = stripslashes(substr($msg,1,strlen($msg) - 2));
    fputs($fp,$msg."\n"); // запись в файл
    fclose($fp); // Закрывает дескриптор файла
}


Автор: Weman 7.3.2010, 22:03
comtat, а можете объяснить вот эту строку:
Код

if($msg[0] == "'") $msg = stripslashes(substr($msg,1,strlen($msg) - 2));


Судя по функции, значение каждой переменной, переданной в эту функцию будет записываться в файл построчно, т.е.:

Код

Иванов
Иван
Ivanov@gmail.com
Петров
Петр
Petrov@gmail.com



Я правильно понял?

Автор: comtat 8.3.2010, 01:51
Цитата
Функция stripslashes —Удаляет экранирование символов

Цитата(Weman @  7.3.2010,  22:03 Найти цитируемый пост)
Я правильно понял?

Да

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)