Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [PHP] Скрипт обработки формы, записать в файл и вывести на экран 
:(
    Опции темы
Weman
Дата 7.3.2010, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.11.2005
Где: Санкт-Петрбург

Репутация: нет
Всего: нет



Здравствуйте! Только начал изучать 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-странице?

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


--------------------
PM MAIL ICQ   Вверх
comtat
Дата 7.3.2010, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Цитата(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); // Закрывает дескриптор файла
}




--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Weman
Дата 7.3.2010, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.11.2005
Где: Санкт-Петрбург

Репутация: нет
Всего: нет



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

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


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

Код

Иванов
Иван
[email protected]
Петров
Петр
[email protected]



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

Это сообщение отредактировал(а) Weman - 7.3.2010, 22:03
--------------------
PM MAIL ICQ   Вверх
comtat
Дата 8.3.2010, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Цитата
Функция stripslashes —Удаляет экранирование символов

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

Да


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0680 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.