Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: обработка форм

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
x_mihail_x
Отправлено: 29 Июня, 2009 - 15:58:27
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Добрый день. Подскажите пож как сделать такую штуку.

Что есть:
есть простая хтмл форма. :
Имя:................
Отчество.........
Фамилия..........

<form name = "FIO" action = "action.php" method = "GET">
<intut type = "text" name = "fname" size = "30">
..........
</form>

есть обработчик (action.php), куда всё прилетает из формы (по нажатию submit) и обрабатывается чудесным образом, сохраняя поля в БД MySQL. В конце отображаются введёные в поля формы данные и надпись, что всё ок. И всё это есессвенно на белой неформатированной странице.

Что хочется сделать:
Конечно, можно сделать в action.php такой же фон, отступы, бэкграунд и т.д. как и в форме хтмл. А можно ли сделать так, чтобы по нажатию на кнопку, поля формы скрывались и отображалось:

Вы ввели Имя:...
Фамилию:.....
Записи усбешно добавлены в БД.
 
 Top
vitaliy_mad
Отправлено: 29 Июня, 2009 - 16:05:57
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




т.е. без перезагрузки страницы? если да, то AJAX в помощь....

(Отредактировано автором: 29 Июня, 2009 - 16:33:00)

 
 Top
Ch_chov
Отправлено: 29 Июня, 2009 - 16:09:26
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Почему не сделать обработчик в том же файле, что и сама форма?

PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['fname'])) {
  2.  
  3. // код обработчка
  4.  
  5. }
 
 Top
x_mihail_x
Отправлено: 29 Июня, 2009 - 16:25:44
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




пасиб попробую
 
 Top
maxtet
Отправлено: 29 Июня, 2009 - 17:28:30
Post Id



Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Февр. 2009  
Откуда: г.Херсон


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <form name = "FIO" method = "GET"> // если не указывать параметр action то обработчиком будет текущий файл
  2. <intut type = "text" name = "fname" size = "30">
  3. ..........
  4. <input type="submit" name="submit_form" value="Отправить">
  5. </form>


Далее идет проверка на нажатие кнопки "Отправить" с последующей обработкой данных формы.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_GET['submit_form'])) // если кнопка отправки данных нажата
  3.   {
  4.     // код обработчика
  5.   }
  6. ?>
 
 Top
JustUserR
Отправлено: 30 Июня, 2009 - 02:12:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




maxtet Есть небольшой минус - если форму отправлят по клавише Enter то значнеие кнопки не передастся
Поэтому лучше скрытое поле юзать


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
x_mihail_x
Отправлено: 30 Июня, 2009 - 10:39:09
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Спасибо maxtet
(Добавление)
JustUserR а можно поподробнее про скрытое поле и как его юзать. На самом деле оч интересно
 
 Top
maxtet
Отправлено: 30 Июня, 2009 - 11:37:02
Post Id



Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Февр. 2009  
Откуда: г.Херсон


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <form name = "FIO" method = "GET"> // если не указывать параметр action то обработчиком будет текущий файл
  2. <intut type = "text" name = "fname" size = "30">
  3. ..........
  4. // скрытое поле имеет тип hidden и предназначено для передачи невидимых для пользователя данных
  5. <input type="hidden" name="hidden_field" value="1">
  6. <input type="submit" name="submit_form" value="Отправить">
  7. </form>


В обработчике проверяем передано ли значение скрытого поля?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_GET['hidden_field'])) // если данные скрытого поля переданы обработчику
  3.   {
  4.     // код обработчика
  5.   }
  6. ?>

(Добавление)
JustUserR пишет:
maxtet Есть небольшой минус - если форму отправлят по клавише Enter то значнеие кнопки не передастся
Поэтому лучше скрытое поле юзать


Не знаю как у вас, но я ради проверки написал такой маленький скриптик.

PHP:
скопировать код в буфер обмена
  1. <form method="post">
  2. <input type="text" name="name" value="" />
  3. <input type="submit" value="Отправить" name="submit_form" />
  4. </form>
  5.  
  6. <?PHP
  7. if (isset($_POST['submit_form'])) {
  8.     if (strlen(trim($_POST['name'])) != 0) {
  9.         echo "Здравствуйте " . $_POST['name'] . "!<br>";
  10.         echo $_POST['submit_form'];
  11.     } else {
  12.         echo "Вы не заполнили текстовое поле!";
  13.     }
  14. }
  15. ?>


И последовав вашим рекомендациям, ничего подобного не обнаружил.

(Отредактировано автором: 30 Июня, 2009 - 11:51:39)

 
 Top
Ch_chov
Отправлено: 30 Июня, 2009 - 12:19:05
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Цитата:
если форму отправлят по клавише Enter то значнеие кнопки не передастся

Интересно, почему это не передаётся? Проверил во всех браузерах. Вроде всё нормально передаётся...
 
 Top
x_mihail_x
Отправлено: 30 Июня, 2009 - 18:05:16
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Всё я разобралсо. Ребята, спасибо всем. Отдельное спасибо maxtet, за быстрые ответы и примеры кода Улыбка
 
 Top
JustUserR
Отправлено: 01 Июля, 2009 - 00:41:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Господа у меня в IE8 именно при нажатии Enterом по самому текствому полю кноака субмита не передается (Именно если есть только одно поле и нажимать по нему ентером Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB