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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как лучше: $_GET и $_POST или $_REQUEST?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
rar
Отправлено: 09 Ноября, 2008 - 12:25:39
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




Как предпочтительней пользоваться суперглобальными массивами: $_GET и $_POST или $_REQUEST?
 
 Top
E-Pro
Отправлено: 09 Ноября, 2008 - 12:58:52
Post Id



Частый гость


Покинул форум
Сообщений всего: 164
Дата рег-ции: Окт. 2008  
Откуда: Санкт-Петербург


Помог: 0 раз(а)




$_POST при передачи данных из формы
$_GET при передачи данных из адресной строки
при этом желательно register_globals off
 
 Top
Champion Супермодератор
Отправлено: 09 Ноября, 2008 - 13:14:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




E-Pro GET из формы тоже можно.
rar, request - это и гет, и пост вместе. По-моему, пользуйтесь, чем хотите
 
 Top
Gal_Sergey
Отправлено: 09 Ноября, 2008 - 14:03:47
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




А из моего куцего опыта мне кажется, что лучше $_POST, а когда нет возможности $_GET.
Тогда легче организовыать циклы по массиву $_POST. Ибо если пользоваться для организации массивов $_REQUEST, то он вернет что надо, и что не надо.
 
 Top
vitaliy_mad
Отправлено: 09 Ноября, 2008 - 14:33:52
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




в целях безопасности лучше использовать $_POST при передаче только методом POST.. если испольуется метод GET тогда без разницы что использовать $_GET или $_REQUEST

IMHO...
 
 Top
Гость
Отправлено: 09 Ноября, 2008 - 15:29:45
Post Id


УДАЛЁН










Меня лично всегда удивляет разграничение 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
 
 Top
vitaliy_mad
Отправлено: 09 Ноября, 2008 - 15:42:37
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




JustUserR
абсолютно правильно... но вот пример:
при запросе:
http://www[dot]dom[dot]ru/pag.php?id=0987654

запрос $_POST['id'] даст пустую строку...
и если есть данные которые надо минимально ограничить подстановку простую таким методом, то лучше использовать массив $_POST...
 
 Top
Гость
Отправлено: 10 Ноября, 2008 - 14:33:44
Post Id


УДАЛЁН










Да, 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() не представляет никакой сложности, и гоаорить о защите здесб безполезно, разве что для удобства самого программииста, чтобы не запутться откуда что пришло Улыбка
 
 Top
vitaliy_mad
Отправлено: 10 Ноября, 2008 - 18:08:28
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




JustUserR пишет:
не представляет никакой сложности

совершено верно... но это ччуть посложнее чем просто в адресной строке написать... зачем облегчать жизнь "хакерам"? Радость
 
 Top
NVK Designer
Отправлено: 11 Ноября, 2008 - 07:23:29
Post Id



Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Окт. 2008  
Откуда: Россия, Саратов


Помог: 1 раз(а)




foreach($_REQUEST as $k=>$v)
{
${$k} = $v;
}

И пользуйтесь обычными переменными.
Соответствено, Вы сможете просто пользовать переменные вида $x вместо тяжелого и нудного забивания $_REQUEST[x], или $_POST[x], или $_GET[x]

(Отредактировано автором: 11 Ноября, 2008 - 13:36:55)

 
 Top
-SCHATTEN-
Отправлено: 11 Ноября, 2008 - 11:52:37
Post Id



Пользователь


Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006  
Откуда: Оттуда !


Помог: 0 раз(а)




Начем с того что $_GET и $_POST используются для разных целей. и в зависимости от вашей цели берется либо один либо другой.
$_REQUEST же включает в себя и $_GET и $_POST и $_COOKIE и использовать её лучше когда вам нужны в одном месте кода 2 из 3-х переменных
 
 Top
TigerSml
Отправлено: 15 Октября, 2009 - 14:13:44
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2009  


Помог: 0 раз(а)




Я вообще всегда использовал $_GET и $_POST
Почитал месаги, подумал. а кто нить подскажет в каких случаях могут понадобится данные переданные любым способом, гет пост или куки.
Подозреваю, что это может понадобится, для софта работающего с скриптом сайта, хотя вариант сомнительный, просто на практике я не сталкивался с таким случаем, когда мне все равно откуда приходят данные. Если это из урл, то гет, если из формы на сайте то пост обычно (гетом из формы почти никогда не отправляю). Лично я $_REQUEST использую в самом начале скрипта на проверку спец символов, что бы охватить все 3 массива и в случае чего остановить скрипт.

Так где же использует кто $_REQUEST в передачи данных? какие обстоятельства заставляют программиста ждать данные с разных методов, или все же дело вкуса.


-----
Да пребудет с Вами Коннект!
 
 Top
EuGen Администратор
Отправлено: 15 Октября, 2009 - 15:28:15
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Отправлено: 11 Ноября, 2008 - 11:52:37
Отправлено: 15 Октября, 2009 - 14:13:44

Уважаемый, проверяйте, пожалуйста, актуальность тем
Предупреждение за поднятие кучи старых тем


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
TigerSml
Отправлено: 15 Октября, 2009 - 16:28:24
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2009  


Помог: 0 раз(а)




Сори конечно! Но лучше флудить новыми темами? Я ж по теме написал, причем именно в точности до единного символа что я искал, то есть ради лажового вопроса мне надо было создать новую тему-дубликат? И вы бы мне конечно сказали пользуйся, друг, поиском.
И я не отвечал на какой, то вопрос, который задали пару лет назад. Добавил свое мнение о использовании массивов и задал новый вопрос. Закрывайте темы, если не желаете, что бы в них продолжали писать.

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


-----
Да пребудет с Вами Коннект!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB