2011-01-13 2 views
0

Мне нужно установить значения $ _GET; я могу сделать это?

ie у меня есть пустой массив $ _GET. Как сделать это непустым с php?

Возможно, с помощью http заголовков?

Благодарим вас заблаговременно;

+1

ли вы имеете в виду передать данные в '$ _GET' переменной через запрос HTTP? – Olical

+0

@ Wolfy87. Да. У меня пустой массив $ _GET. Как сделать это непустым с php? – pltvs

ответ

3

Это три способа сделать это.

One:

<form method="get" action="file.php"> 
<input type="text" name="TextThing" /> 
</form> 

В файле PHP:

$_GET["TextThing"]; //contains the text of the texbox TextThing... 

Второй:

Используйте вопросительный за URL, например: http://domain.com/file.php?foo=bar&stack=overflow

Тогда:

$_GET["foo"]; //contains bar 
$_GET["stack"]; //contains overflow 

Помните, что ваши пользователи легко могут изменять значения переменных.

Третье:

$_GET["foo"] = "bar"; 
$_GET["foo"]; //contains bar 
1

$_GET заполняется Params/значений, посланных в строку запроса в URL, так что, если вы звоните http://example.com/my.php?foo=bar&foo2=baz затем в my.php $_GET['foo'] => 'bar' и $_GET['foo2'] => 'baz'

1

Вы можете попробовать обновить $ _GET

$_GET['test'] = 'abc'; 

А затем переадресовать пользователей:

header('Location: ?' . http_build_query($_GET)); 

Необходимо только перенаправить только при необходимости, s o что вы не берете пользователей в бесконечное перенаправление.

1

Массив $_GET изначально заполняется из строки запроса, но вы можете перезаписать его, если хотите без перенаправления. Если в какой-то момент вашего кода вы установили $_GET['foo'] = 'bar';, то это будет установлено после этого, независимо от того, что представляет собой строка запроса.

+1

(Но я бы не рекомендовал его.) – TRiG