2011-01-13 90 views
0

我需要设置$ _GET值;我可以这样做吗?

即我有一个空的$ _GET数组。如何使它与PHP非空?

也许在http头的帮助下?

预先感谢您;

+1

你的意思是通过一个HTTP请求数据传递到`$ _GET`变量? – Olical 2011-01-13 13:53:13

+0

@ Wolfy87。是。我有一个空的$ _GET数组。如何使它与PHP非空? – pltvs 2011-01-13 14:17:43

回答

3

这是做这件事的三种方法。

一:

<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填充在URL中的查询字符串发送的PARAMS /值,因此,如果调用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';,那么不管查询字符串是什么,它都会在之后设置。