2010-03-20 2 views
2

Я хочу запустить определенный блок PHP, если пользователь отправляет форму. Это работает, если я использую кнопку отправки с именем = «отправить» и:

<?php 
if(isset($_POST['submit'])) { 
code to run 
} 
?> 

Я ничего не знаю, JavaScript, и я хочу, чтобы запускать код, если пользователь изменяет выпадающее меню. Если я делаю первую строчку выпадающего списка

<select name="dropdownname" onchange="this.form.submit()"> 

появляется форма (я не проверял), чтобы представить, если пользователь изменяет выбор раскрывающегося. Однако, если я это сделаю, if (isset ($ _ POST ['submit'])) PHP-код не запускается. Есть ли инструкция PHP if, которую я могу написать, которая ответит на форму, представленную, даже если она отправляется путем изменения раскрывающегося списка, а не кнопки отправки?

ответ

6

Вы можете проверить непосредственно:

if(isset($_POST['dropdownname'])) 
+0

Конечно! Это делает общий смысл (и работает). Спасибо! – bsamek

-1

вы всегда должны проверить $ _SERVER [ «REQUEST_METHOD»] вместо конкретного имени поля

+1

Нет, вы всегда должны проверять наличие каждого поля, которое вы ожидаете получить, или, по крайней мере, те, которые необходимы вашему коду *. Просто проверка метода запроса ничего не сообщает о данных, которые вы передаете. – Atli

+0

@Atli Итак, никто не спрашивал вас о данных, которые вы передаете –

+0

@Col. Шрапнель. Он попросил выполнить код, если выпадающее меню было изменено. Если вы только проверите метод запроса, любой запрос POST вызовет код, даже один из другой формы. - Проверка значения присутствует, это единственный способ гарантировать, что '