这可能是一个基本问题,我一直在寻找一种安全而干净的方法来做到这一点。我传递一个普通的字符串,其中包含特殊字符(如$ ^%等)。我怎么能在网址中这样做?例如,我有一个名为$ text的变量,它来自$ _GET的addto.php。我如何将其转移到more.php?
答案 0 :(得分:5)
'more.php?varname='.urlencode($_GET['text']);
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以通过URL传递数据,它应该是键/值对的形式,但是您不应该使用它传递太多数据,因为URL有限制。您也不应传递敏感信息。
键/值对是这样的:
key=value
如果您有多对,则需要使用& 字符分隔它们。这是一个例子:
myScript.php?color1=blue&color2=red
?之后的字符串称为查询字符串。使用PHP,您可以使用超全局$ _GET轻松访问这些键/值对。所以,在myScript.php中你可以:
$a = $_GET['color1'];
$b = $_GET['color2'];
现在,如果要创建动态查询字符串,至少应使用urlencode()
,因此将翻译任何特殊字符以保持正确的URL格式。
请阅读以下内容: