PHP获取URL参数及其值

时间:2011-12-22 15:57:49

标签: php arrays url parameters foreach

如何拆分URL然后获取其值并将值存储在每个文本输入上?

URL:

other.php?add_client_verify&f_name=test&l_name=testing&dob_day=03&dob_month=01&dob_year=2009&gender=0&house_no=&street_address=&city=&county=&postcode=&email=&telp=234&mobile=2342&newsletter=1&deposit=1

PHP:

$url = $_SERVER['QUERY_STRING'];
$para = explode("&", $url); 
foreach($para as $key => $value){   
    echo '<input type="text" value="" name="">';    
} 

上面的代码将返回:

l_name=testing  
dob_day=3  
doby_month=01  
....

我尝试了另一种方法:

$url = $_SERVER['QUERY_STRING'];
$para = explode("&", $url); 
foreach($para as $key => $value){   
    $p = explode("&", $value);
    foreach($p as $key => $val) {
       echo '<input type="text" value="" name="">';
    }   
} 

4 个答案:

答案 0 :(得分:9)

为什么不使用$ _GET全局变量?

foreach($ _ GET为$ key =&gt; $ value) {

.....

}

答案 1 :(得分:4)

php有一个预定义变量,它是查询字符串的关联数组...因此您可以使用$_GET['<name>']返回值link to $_GET[] docs

您确实需要查看所需的Code Injection page on wikipedia,以确保仔细检查发送到PHP脚本的任何值是否存在恶意代码,PHP提供了有助于防止此问题的方法,{{3} }

答案 2 :(得分:4)

$queryArray = array();
parse_str($_SERVER['QUERY_STRING'],$queryArray);

var_dump($queryArray);

答案 3 :(得分:1)

您应该使用$_GET数组。

如果您的查询字符串如下所示: ?foo=bar&fuz=baz

然后你可以访问这样的值:

echo $_GET['foo']; // "bar"
echo $_GET['fuz']; // "baz"