2017-04-03 113 views
1

我需要一个帮助。我需要使用PHP从查询字符串获取所有数据,但一些特殊的字符(如i.e-+,- etc)不会来。我在下面解释我的代码。使用PHP无法从查询字符串值中获取特殊字符

http://localhost/test/getmethod.php?name=Goro + Gun 

在这里,我需要使用下面的代码得到赋值为name

<?php 
$name=$_GET['name']; 
echo $name; 
?> 

这里我越来越喜欢Goro Gun输出,但我需要的原始值i.e-Goro + Gun。请帮我解决这个问题。

+0

'五郎Gun'是在浏览器网址查看'五郎+ Gun'的空间被替换精确值“ +”。为了得到相同的结果,你可以使用urlencode() –

回答

2

@subhra试试这个针对这种情况名=五郎+枪:

<?php 
$nameArr = explode('=', $_SERVER['QUERY_STRING']); 
$name = str_replace("%20", " ", $nameArr[1]); 
echo $name; 
?> 
0
$_SERVER['QUERY_STRING'] - this will return you full query string 
+0

通过添加像你一样的投掷错误。注意:未定义的索引:name'。我做了这样的'$ name = $ _ SERVER ['name'];'。 – subhra

+0

否否,$ _SERVER ['name']将不起作用,我的意思是如果你回显$ _SERVER ['QUERY_STRING'] – Skalbhile

+0

,如果我有许多像这样的值'http:// localhost/test/getmethod.php?name = Goro + Gun&cid = 20',我需要分别获取每个值。在那种情况下会发生什么。 – subhra