2011-12-22 98 views
6

如何拆分URL然后获取其值并将值存储在每个文本输入中?PHP获取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="">'; 
    } 
} 
+0

http://www.php.net/manual/en/reserved.variables.get.php – ManseUK 2011-12-22 16:01:13

+0

使用$ _GET。如果您打算从另一个位置分解查询字符串,请使用parse_str()。没有必要爆炸和循环一切。 – MetalFrog 2011-12-22 16:15:37

回答

5

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

的foreach($ _ GET为$密钥=> $值) {

.....

}

+0

谢谢。我从来没有想过这么简单:) – tonoslfx 2011-12-22 16:06:38

1

您应该使用$_GET阵列。

如果您的查询字符串看起来是这样的: ?foo=bar&fuz=baz

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

echo $_GET['foo']; // "bar" 
echo $_GET['fuz']; // "baz" 
4
$queryArray = array(); 
parse_str($_SERVER['QUERY_STRING'],$queryArray); 

var_dump($queryArray); 
+0

只为我......你为什么要''将'parse_str()'放在'$ _GET'上?我可以理解的书呆子使用它,如果你想解析的字符串,如果不是用于调用正在执行的php的url ... – ManseUK 2011-12-22 16:29:35

+0

$ _GET将如何处理?arr [] = foo + bar&arr [] = baz – 2011-12-22 16:32:24

+0

'$ _GET ['arr'];'< - 将是一个数组 – ManseUK 2011-12-22 17:37:44