PHP:在网址$ _GET urldecode编码解码点
问题描述:
我: http://www.example.com/index.php?amount=15%252E8
在index.php文件:
$test = $_GET['amount'];
echo $test;
// Output: 15%2E8
但我并不需要15%2E8,我需要15.8
$test = $_GET['amount'];
$test = urldecode($test);
echo $test;
//Output: 15.8
但http://us2.php.net/manual/en/function.urldecode.php他们警告:
警告:超全局变量$ _GET和$ _REQUEST已经被解码。 对$ _GET或$ _REQUEST中的元素使用urldecode()可能会产生 意外且危险的结果。
为什么$ _GET [ '量']没有得到15.8?!
答
15%252E8
是“15%2E8”的URL编码版本。 15%2E8
是“15.8”的URL编码版本。
如果你想要“15.8”,你应该在URL中发送15%2E8
。
I.e.你在某个地方的URL编码太多了。
您发送的'金额'值是多少 – Patrick
您的网址示例显示15%252E8,但您的输出示例显示15%2E8。这是一个错字还是真的从中间的'25'落下? – shanabus