ked*_*ter 16 php get urlencode request
这是网址:
http://localhost/test.php?id=http://google.com/?var=234&key=234
Run Code Online (Sandbox Code Playgroud)
我无法获得完整的$ _GET ['id']或$ _REQUEST ['d'].
<?php
print_r($_REQUEST['id']);
//And this is the output http://google.com/?var=234
//the **&key=234** ain't show
?>
Run Code Online (Sandbox Code Playgroud)
Wh1*_*Ck5 35
$get_url = "http://google.com/?var=234&key=234";
$my_url = "http://localhost/test.php?id=" . urlencode($get_url);
Run Code Online (Sandbox Code Playgroud)
$ my_url输出:
http://localhost/test.php?id=http%3A%2F%2Fgoogle.com%2F%3Fvar%3D234%26key%3D234
Run Code Online (Sandbox Code Playgroud)
所以现在你可以使用$_GET['id']或$_REQUEST['id'](解码)获得这个值.
echo urldecode($_GET["id"]);
Run Code Online (Sandbox Code Playgroud)
产量
http://google.com/?var=234&key=234
Run Code Online (Sandbox Code Playgroud)
获取每个GET参数:
foreach ($_GET as $key=>$value) {
echo "$key = " . urldecode($value) . "<br />\n";
}
Run Code Online (Sandbox Code Playgroud)
$key是GET键,$value是GET值$key.
或者您可以使用替代解决方案来获取GET参数数组
$get_parameters = array();
if (isset($_SERVER['QUERY_STRING'])) {
$pairs = explode('&', $_SERVER['QUERY_STRING']);
foreach($pairs as $pair) {
$part = explode('=', $pair);
$get_parameters[$part[0]] = sizeof($part)>1 ? urldecode($part[1]) : "";
}
}
Run Code Online (Sandbox Code Playgroud)
$get_parameters与url解码相同$_GET.
$val=urlencode('http://google.com/?var=234&key=234')
<a href="http://localhost/test.php?id=<?php echo $val ?>">Click here</a>
Run Code Online (Sandbox Code Playgroud)
并且在使用urldecode获取解码时
| 归档时间: |
|
| 查看次数: |
103522 次 |
| 最近记录: |