Intereting Posts
ROS catkin_init_workspace не найден, когда порожден как процесс PHP Как запустить php-скрипт в cron Получение данных из определенного идентификатора div Использование PHP Как совместить строки с двойными кавычками, используя php Какой формат это? Как динамически обрабатывать роли | разрешения в Symfony2 на уровне базы данных: операции CRUD над ними Как я могу заставить PHPUnit MockObjects возвращать разные значения на основе параметра? Проблема с PJAX и Firefox Magento – отдельный пользовательский атрибут продукта с массивом значений Как получить адрес gzip в виде ответа PHP Yii Postgress Json запрашивает оператора с вопросительными знаками?,? |,? & Есть ли какое-либо событие / способ, который мы можем знать, когда файл завершил загрузку? Отправка auth в заголовках php curl Преобразование адресов из имени <address@domain.tld> в формат phpmailer График Facebook api и вновь определенные объекты и действия: сообщение: «Неизвестные компоненты пути»

Можно ли одновременно использовать $ _POST & $ _GET?

У меня есть следующая форма:

<form action="doThis.php?warehouse=12" method="post"> <input name="field1" type="text" /> <input name="field2" type="text" /> </form> 

И doThis.php :

 $field1 = mysql_real_escape_string($_POST['field1'], $mysql); $field2 = mysql_real_escape_string($_POST['field2'], $mysql); $warehouse = $_GET['warehouse']; if ( !someTableNameValidation($warehouse) ) { someErrorHandling(); } $qry = "INSERT INTO table".$warehouse." ( field1, field2 ) VALUES( '$field2', '$field2') "; $result = @mysql_query($qry, $mysql); 

Как вы можете видеть, я использую $ _POST для получения данных из формы и $ _GET для получения переменной $warehouse которая используется для указания номера таблицы.

Могу ли я использовать одновременно $ _POST & $ _GET? Правильно ли это использование?

Да, я всегда это делаю.

Также обратите внимание, что никогда не следует использовать mysql_query. Поиск php PDO . Не говоря уже о ужасном @ для подавления ошибки

Да, это возможно. Но вы также можете использовать скрытое поле:

 <form action="doThis.php"> <input type="hidden" name="warehouse" value="12" /> <input name="field1" type="text" /> <input name="field2" type="text" /> 

Имейте в виду, что ваш код очень уязвим для SQL-инъекций !

Да, вы могли бы. $_GET['warehouse'] будет выведен из строки запроса, переменные $_POST из представленных значений POST.

Да, однако это должно быть:

 $field1 = $_POST['field1']; $field2 = $_POST['field2']; $warehouse = $_GET['warehouse']; $qry = "INSERT INTO table".$warehouse." ( field1, field2 ) VALUES ('".mysql_real_escape_string($field2)."', '".mysql_real_escape_string($field2)."')"; $result = @mysql_query($qry); 

(Фиксированный синтаксис)

Я часто использую POST и GET вместе, так что сторона PHP может знать, была ли она обычной подачей формы или через AJAX.

 <form action='dest.php'> . . . 

против

 ajaxSubmit( 'dest.php?a=1', ... );