Как узнать GET-запрос, сделанный к скрипту?

Статус
В этой теме нельзя размещать новые ответы.
Может кому ни буть пригодиться ,
ф-ция распарсит строку-url и вернет масив или значение одного параметра $resultParam.
Пример :
getURLQueryParams('http://ya.ru?q=test1&f=3&r=1','q') => test1
getURLQueryParams($_SERVER['REQUEST_URI'],true) == $_GET

Использую для обработки ссылок полученных из файлов или бд... доп.инфо в parse_url()

PHP:
function getURLQueryParams($sUrl,$resultParam='')
{
$aUrl = parse_url($sUrl);
$aUrl['query_params'] = array();
$aPairs = explode('&', $aUrl['query']);

foreach($aPairs as $sPair)
{
if (trim($sPair) == '') { continue; }
list($sKey, $sValue) = explode('=', $sPair);
$aUrl['query_params'][$sKey] = urldecode($sValue);
}
if ($resultParam===true) return $aUrl;
if ($resultParam) return $aUrl['query_params'][$resultParam];
return $aUrl['query_params'];
}
 
Возможно я очень затупил и что-то не понял. Но разве не проще посмотреть в firebug?
 
echo $_GET['xxxx']
нет переменной т.к. отключено registerglobals в ini

переменная $_GET является superglobal. его не возможно отключить.

о вообще пользуюсь вот этим кодом:

PHP:
if ($_SERVER['REQUEST_METHOD'] == 'GET') $_DANNIE = $_GET;
else $_DANNIE = $_POST;

кстати $HTTP_GET_VARS deprecated.
 
Так же можно воспользоваться каким нибудь http снифером. К примеру я пользую proxomitron и искать что то новое не спешу ;)
 
Возможно я очень затупил и что-то не понял. Но разве не проще посмотреть в firebug?


Так же можно воспользоваться каким нибудь http снифером. К примеру я пользую proxomitron и искать что то новое не спешу ;)

сорри за оффтоп, но при чему тут софт или плагины для фаерфокса? если человеку нужно скрипт например написать где это будет требоваться, ему ваши советы не помогут. тем более топик то по программированию...
 
Блин модераторам, честно мне не жалко потерять аккаунт, но это приблуда с быстрым ответом пока найдёш офигеешь, сделайте хоть текстое обозначение.
паря $_GET и есть глобальный массив в котором сохраняются внешние getзапросы и всё тело там и есть.
Не нравиться плагины по просмотру заголовкам - в частности ооочень крутой silenium @ firebug in firefox
 
Удалить надо всю вторую страницу, какие плагины к фаерфоксу? Какие прокси?
Добавлю к вышесказанному такую оригинальную вещь:
PHP:
//raw request body
$requestText = trim(file_get_contents('php://input'));
 
Народ вы чего оффтопите, где автор сказал что ему необходимо в скрипте узнать GET переменные, об этом даже упоминания не было.
Развели демагогию, это надо, то не надо. Где написано что ему конкретно надо? В доказательства моего суждения можно заметить что топик разросся до 2-х страниц, а следовательно не была поставлена четко задача и грани задачи были очень сильно размыты, в следствии этого и получается что ТС получает разносторонние ответы.

А теперь еще раз, TC специально для тебя:
1) Узнать значения GET запроса не посредственно в исполняемом скрипте. $_GET здесь все значения переданные GET-ом. $_GET это массив, следовательно что бы узнать что там, необходимо воспользоваться одной из стандартной функций позволяющей распечатать и отобразить массив, допустим print_r(), var_dump() и т.д. или написать свою функцию для распечатки массива. Пример:
PHP:
// с помощью print_r() функции
print_r($_GET);

// с помощью var_dump() функции
var_dump($_GET)

// с помощью своей функции
foreach($_GET as $key => $value){
	echo $key . ' = ' . $value.'<br />';	
}

Это самые оптимальные и быстрые способы узнать значения GET запроса.

Что бы получить не посредственно строку запроса передаваемую в URL-е, в ее изначальном виде, необходимо обратиться к $_SERVER['QUERY_STRING'].

Так же значения передаваемые в GET запросе можно узнать в массиве $_REQUEST[], но необходимо помнить что $_REQUEST[] хранит в себе не только значения GET запроса. По умолчанию $_REQUEST[] хранит в себе значения переменных $_GET, $_POST и $_COOKIE.

ТС если у вас не работает тот способ, то у вас что то с конфигурацией сервера, копайте в эту строну.


2) Узнать значения GET (POST, COOKIE и остальной боломути) запроса передаваемые скрипту, доступ к которому мы не имеем, кроме как обращение к нему, а следовательно не можем воспользоваться первым способом.

Для особо одаренных (karapet и propovednik это к вам относиться товарищи) знающих вся и все, читайте внимательно ниже написанные строки ;)

В таких случая используется http снифер, для того что бы узнать что и как отправляться на скрипт удаленного сервера.


Так же товарищ karapet, я хочу за метить что выше приведенные софтины и плагина http сниферов имеют не посредственное отношение к данному топику, а если вы не в курсе дел то извините перед тем что бы что то писать хотя бы с ситуацией необходимо ознакомиться и узнать с чем "придется работать", но в данной случае вам было проще написать:
сорри за оффтоп


Считаю что тема топика исчерпала себя полностью и можно данный топик закрывать так как в теме уже ответили все планово на поставленный вопрос темы.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху