Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как $_POST определяет формы?
 
 автор: Чайчайвыручай   (12.07.2011 в 19:50)   письмо автору
 
 

Здравствуйте!
Как $_POST определяет каждую из трех форм:

Первая:
<form action="otk.php" method="post">
<input name="a85” type="submit" value="Пропустить">
<input name="a2" type="submit" value="2 этапа">
</form>

Вторая:
<form method='post'>
<input name=$n_delete type='submit' value='Удалить'>
</form>

Третья:
<form method='post' name='kol'>
<select name='kol_menu' size='1'>
<option value='kol_first'>1</option>
<option value='kol_second'>2</option>
<option selected='selected' value='kolos_third'>3</option>
</select>
</form>

Обработчик:
If($_POST[первая]){делаем это}; // Как $_POST понимает что эта кнопка из первой формы?
If($_POST[вторая]){делаем это}; // Как $_POST понимает что эта кнопка из второй формы?
If($_POST[третья]){делаем это}; // Как $_POST понимает что эта выпадающий список из третьей формы?
Что нужно сделать что бы понимал?

  Ответить  
 
 автор: Киналь   (12.07.2011 в 20:28)   письмо автору
 
   для: Чайчайвыручай   (12.07.2011 в 19:50)
 

Первая форма.
Отправкой формы вы вызываете файл otk.php, и там у вас есть массив $_POST[] с элементами $_POST['a85'] и $_POST['a2'].

Вторая форма.
Отправкой формы вы вызываете тот же самый файл, в котором находится форма, и там и там у вас есть массив $_POST[] с элементом $_POST['$n_delete']

Третья форма.
То же, что и вторая, но массив будет содержать элемент $_POST['kol_menu']

PS Обратите внимание на строчку
<input name=$n_delete type='submit' value='Удалить'>
Полагаю, вы имели в виду <?php echo $n_delete ?>.

  Ответить  
 
 автор: Чайчайвыручай   (12.07.2011 в 20:39)   письмо автору
 
   для: Киналь   (12.07.2011 в 20:28)
 

Спасибо!
правильно я понимаю, что форму нельзя назвать, можно только сами кнопки, например? Значит можно ее один раз открыть, если используется один метод, и закрыть в конце скрипта?

  Ответить  
 
 автор: Киналь   (12.07.2011 в 21:01)   письмо автору
 
   для: Чайчайвыручай   (12.07.2011 в 20:39)
 

>правильно я понимаю, что форму нельзя назвать
Можно, почему нет. Только в обработчике вы это название не увидите, только и всего. Названия форм используются га стороне клиента (например, в JS).

>Значит можно ее один раз открыть, если используется один метод, и закрыть в конце скрипта?
Форм в документе может быть сколько угодно, но данные передаются только из той, которую пользователь сабмитит (извините, не соображу, как это по-русски сказать) ).

Если вам нужно различить в обработчике, какая именно форма отправила ему данные, то включите в каждую поле hidden с неким идентификатором данной формы. Имя этого поля, разумеется, должно быть одинаковым во всех формах.

  Ответить  
 
 автор: Чайчайвыручай   (12.07.2011 в 21:16)   письмо автору
 
   для: Киналь   (12.07.2011 в 21:01)
 

Спасибо, думаю hidden, как раз мне и не хватало

  Ответить  
 
 автор: Valick   (12.07.2011 в 21:25)   письмо автору
 
   для: Чайчайвыручай   (12.07.2011 в 21:16)
 

а мне лично кажется Вам не хватает хороших книг по РНР
программирование - это прежде всего логика, а не команды языка
книги как раз учат программировать и позволяют учиться на чужих ошибках, а не терять время разгребая свои.

  Ответить  
 
 автор: Киналь   (12.07.2011 в 21:30)   письмо автору
 
   для: Valick   (12.07.2011 в 21:25)
 

По-моему, на уровне «форма-обработчик» можно и самому потыкаться. Даже интереснее=) Вот когда дело до cookie дойдёт хотя бы, вот тогда и за книжки браться. Чтобы не было «Cannot modify header information: headers already sent by» :-D

  Ответить  
 
 автор: Чайчайвыручай   (12.07.2011 в 21:32)   письмо автору
 
   для: Valick   (12.07.2011 в 21:25)
 

Купил вчера самоучитель PHP 5/6 и PHP Народные советы. Читаю все понятно, когда надо писать код под свои нужды, так сразу выползают нераскрытые моменты

  Ответить  
 
 автор: Valick   (12.07.2011 в 21:37)   письмо автору
 
   для: Чайчайвыручай   (12.07.2011 в 21:32)
 

Вот :) отличные книги, теперь нужно грамотно поставить перед собой задачу и будет все хорошо
"заложить фундамент" всегда самая сложная задача
___
купили вчера - это еще слишком мало прочитали, и подозреваю не успели хорошенько переварить)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования