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
Форумы портала PHP.SU :: Версия для печати :: Как лучше: $_GET и $_POST или $_REQUEST?
Форумы портала PHP.SU » PHP » Программирование на PHP » Как лучше: $_GET и $_POST или $_REQUEST?

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

1. rar - 09 Ноября, 2008 - 12:25:39 - перейти к сообщению
Как предпочтительней пользоваться суперглобальными массивами: $_GET и $_POST или $_REQUEST?
2. E-Pro - 09 Ноября, 2008 - 12:58:52 - перейти к сообщению
$_POST при передачи данных из формы
$_GET при передачи данных из адресной строки
при этом желательно register_globals off
3. Champion - 09 Ноября, 2008 - 13:14:43 - перейти к сообщению
E-Pro GET из формы тоже можно.
rar, request - это и гет, и пост вместе. По-моему, пользуйтесь, чем хотите
4. Gal_Sergey - 09 Ноября, 2008 - 14:03:47 - перейти к сообщению
А из моего куцего опыта мне кажется, что лучше $_POST, а когда нет возможности $_GET.
Тогда легче организовыать циклы по массиву $_POST. Ибо если пользоваться для организации массивов $_REQUEST, то он вернет что надо, и что не надо.
5. vitaliy_mad - 09 Ноября, 2008 - 14:33:52 - перейти к сообщению
в целях безопасности лучше использовать $_POST при передаче только методом POST.. если испольуется метод GET тогда без разницы что использовать $_GET или $_REQUEST

IMHO...
6. Гость - 09 Ноября, 2008 - 15:29:45 - перейти к сообщению
Меня лично всегда удивляет разграничение GET и POST
На самом деле GET есть абсолютно всегда, и то что мы называем POST на самом деле GET+POST. т.е. на самоме деле method="GET" значит что POST выключен, а method="POST" значит что POST включен

P.S. Для тех кто в танке Улыбка
GET /some.php?par=val HTTP/1.1\nHost: mysite.ru\nOther headers\n\n
POST /some.php?par=val HTTP/1.1\nHost: mysite.ru\nContent-Length: 900\nOther headers\n\nPOST DATA
7. vitaliy_mad - 09 Ноября, 2008 - 15:42:37 - перейти к сообщению
JustUserR
абсолютно правильно... но вот пример:
при запросе:
http://www[dot]dom[dot]ru/pag.php?id=0987654

запрос $_POST['id'] даст пустую строку...
и если есть данные которые надо минимально ограничить подстановку простую таким методом, то лучше использовать массив $_POST...
8. Гость - 10 Ноября, 2008 - 14:33:44 - перейти к сообщению
Да, vitaliy_mad, конечно Вы тоже правы
Но ведь написать страинцу с формой <form action="http://www.dom.ru/pag.php" method="post" name="hack_form"><input type="hidden" name="id" value="0987654"></form> и потом сделать hack_form_submit() не представляет никакой сложности, и гоаорить о защите здесб безполезно, разве что для удобства самого программииста, чтобы не запутться откуда что пришло Улыбка
9. vitaliy_mad - 10 Ноября, 2008 - 18:08:28 - перейти к сообщению
JustUserR пишет:
не представляет никакой сложности

совершено верно... но это ччуть посложнее чем просто в адресной строке написать... зачем облегчать жизнь "хакерам"? Радость
10. NVK Designer - 11 Ноября, 2008 - 07:23:29 - перейти к сообщению
foreach($_REQUEST as $k=>$v)
{
${$k} = $v;
}

И пользуйтесь обычными переменными.
Соответствено, Вы сможете просто пользовать переменные вида $x вместо тяжелого и нудного забивания $_REQUEST[x], или $_POST[x], или $_GET[x]
11. -SCHATTEN- - 11 Ноября, 2008 - 11:52:37 - перейти к сообщению
Начем с того что $_GET и $_POST используются для разных целей. и в зависимости от вашей цели берется либо один либо другой.
$_REQUEST же включает в себя и $_GET и $_POST и $_COOKIE и использовать её лучше когда вам нужны в одном месте кода 2 из 3-х переменных
12. TigerSml - 15 Октября, 2009 - 14:13:44 - перейти к сообщению
Я вообще всегда использовал $_GET и $_POST
Почитал месаги, подумал. а кто нить подскажет в каких случаях могут понадобится данные переданные любым способом, гет пост или куки.
Подозреваю, что это может понадобится, для софта работающего с скриптом сайта, хотя вариант сомнительный, просто на практике я не сталкивался с таким случаем, когда мне все равно откуда приходят данные. Если это из урл, то гет, если из формы на сайте то пост обычно (гетом из формы почти никогда не отправляю). Лично я $_REQUEST использую в самом начале скрипта на проверку спец символов, что бы охватить все 3 массива и в случае чего остановить скрипт.

Так где же использует кто $_REQUEST в передачи данных? какие обстоятельства заставляют программиста ждать данные с разных методов, или все же дело вкуса.
13. EuGen - 15 Октября, 2009 - 15:28:15 - перейти к сообщению
Отправлено: 11 Ноября, 2008 - 11:52:37
Отправлено: 15 Октября, 2009 - 14:13:44

Уважаемый, проверяйте, пожалуйста, актуальность тем
Предупреждение за поднятие кучи старых тем
14. TigerSml - 15 Октября, 2009 - 16:28:24 - перейти к сообщению
Сори конечно! Но лучше флудить новыми темами? Я ж по теме написал, причем именно в точности до единного символа что я искал, то есть ради лажового вопроса мне надо было создать новую тему-дубликат? И вы бы мне конечно сказали пользуйся, друг, поиском.
И я не отвечал на какой, то вопрос, который задали пару лет назад. Добавил свое мнение о использовании массивов и задал новый вопрос. Закрывайте темы, если не желаете, что бы в них продолжали писать.

tools.php?action=rules
Правила участия в конференции.
...
хм, не нашел.
Приношу, конечно же извинения, за такое беспокойство, но я задавал вопрос по использованию массивов $_GET $_POST и $_REQUEST, а не отвечал на сообщение 2008 года. Добавьте в правила пунктик на счет этого или закрывайте старые темы, в чем проблема то.

 

Powered by ExBB FM 1.0 RC1