Автор Тема: отправка данных формы  (Прочитано 4027 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Jean

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
отправка данных формы
« : 24 Августа 2004, 09:15:23 »
подскажите, как лучше решить такую проблему:

допустим у меня есть такая форма:


<form method=\'post\'>
<input type=\'text\' name=\'name\' />
<input type=\'text\' name=\'surname\' />
<input type=\'submit\' name=\'send\' />
</form>


и таким образом я обрабатываю данные:

if(isset($_POST[\'send\']))
{
    //code
}



но проблема в том, что если пользователь напишет имя и фамилию и нажмет Enter, то в массиве $_POST у меня не будет переменной send, и соответственно я не смогу обработать данные

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #1 : 24 Августа 2004, 12:03:06 »
if($_SERVER[\'REQUEST_METHOD\']==\'POST\')

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #2 : 24 Августа 2004, 12:04:45 »
Крокер, извиняюсь за удаление. Рефлекс...
Потому, что на какую кнопку нажали  - ту браузер и послал.

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
отправка данных формы
« Ответ #3 : 24 Августа 2004, 12:06:20 »
Да ради бога. =)

У него в форме вроде одна кнопка.

UPD: Все, пардон, ступил, догнал.
Не все коту матрица.

Оффлайн Jean

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #4 : 24 Августа 2004, 12:10:22 »
хорошо, RomikChef спасибо

хотя пока ждал ответов такой вариант придумал:

<input type=\'hidden\' name=\'send\'>
вставил перед кнопочкой

Оффлайн Jean

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #5 : 24 Августа 2004, 12:12:25 »
Croaker

не совсем понял, что значит что одна кнопка.

Я просто ставлю print_r($_POST), и там только name, surname, а send и в помине нет

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #6 : 24 Августа 2004, 12:17:21 »
Jean
лично по мне, то я не люблю ничего лишнего в скриптах.

Оффлайн Jean

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #7 : 24 Августа 2004, 12:30:31 »
ок RomikChef
 
тогда подскажи как бы ты сделал если у тебя есть три кнопки: add, remove, modify. И нажатие на клавишу Enter должно быть эквивалентно нажатию на кнопку add

ведь во всех трех случаях if($_SERVER[\'REQUEST_METHOD\']==\'POST\')
даст истину
?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #8 : 24 Августа 2004, 12:35:09 »
во-первых, начнем с того, что твой хидден в данном случае тоже не поможет.
Во-вторых, назначение кнопки модифай мне неясно.
в третьих, кнопку ремуве можно сделать отдельной формою.

Оффлайн Jean

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #9 : 24 Августа 2004, 12:46:32 »
ладно, это был плохой пример. Напишу как у меня есть на самом деле.

<form method=\'post\'> 
<input type=\'text\' name=\'name\' /> 
<input type=\'text\' name=\'surname\' /> 
<input type=\'submit\' name=\'ok\' /> 
<input type=\'submit\' name=\'cancel\' /> 
</form>


то есть получается, что для этого случая нужно писать


if($_SERVER[\'REQUEST_METHOD\'] == \'POST\' && !isset($_POST[\'cancel\']))


я все правильно понял?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #10 : 24 Августа 2004, 12:51:31 »
ну, наверное.
только я не понял смысла такой проверки.
обрабатывать форуму только если была нажата кнопка cancel ? оригинально.

Оффлайн Jean

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #11 : 24 Августа 2004, 12:56:02 »
как раз таки наоборот, если нажата Enter или кнопка ok, тогда обрабатывать форму, если cancel - нет

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
отправка данных формы
« Ответ #12 : 24 Августа 2004, 14:18:51 »
А, ну да.
Никогда я не видел просто кнопки кансел.
вроде бы - и ссылки достаточно, или вообще кнопки "взад".

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28