2011-12-22 97 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