在这里我有一个值有一个白色的空间。我通过rawurlencode()
的价值。但是当我想在数据库查询使用sql中的值,我不能逃脱"%20"
这是增加,而不是空白从原始URL编码的值中获取空白符号?
<a href =<?php echo "www.example.com?val =".rawurlencode("al zami") ;>click</a>
在后端我使用$_GET['val']
..但它有类似"al%20zami"
。如何逃脱他们$_GET
可变
在这里我有一个值有一个白色的空间。我通过rawurlencode()
的价值。但是当我想在数据库查询使用sql中的值,我不能逃脱"%20"
这是增加,而不是空白从原始URL编码的值中获取空白符号?
<a href =<?php echo "www.example.com?val =".rawurlencode("al zami") ;>click</a>
在后端我使用$_GET['val']
..但它有类似"al%20zami"
。如何逃脱他们$_GET
可变
你搞乱了代码。修复无用的空格,在属性周围添加引号,然后关闭PHP标记。
<a href="<?php echo "?val=".rawurlencode("al zami"); ?>">click</a>
<?php echo $_GET['val']; ?>
我怀疑你是一个有点困惑在这里您的术语,因为%20
已经逃走了。你似乎在问,据我了解你的问题,它是如何去做的。
对于这个问题PHP manual for rawurlencode()
持有答案。请记住阅读整个页面,并仔细阅读。
这就是说。您在$_GET
阵列中获得URL转义值的事实似乎表明您的代码中可能存在一些其他问题。
正常情况下,服务器在从客户端接收到转义值时会自动转换这些值,因此在大多数情况下,手动转义这些转义值绝不是必需的。
因此,请发布您的代码的完整示例,它从头至尾突出显示了问题。如果你这样做,我们可以帮助你找到并解决真正的问题。不只是症状。
其实我正在使用codeigniter。它不会自动忽略数据。我不知道为什么?所以,我不得不想出一个简单的例子来表达我的问题 –
在涉及任何框架或任何其他PHP代码之前发生了无法解决的问题。所以这不应该对结果有任何影响。然而,它可能会做的是双重转义你的输出,所以它看起来并没有在收到时解开它。 – ChristianF
的编码被用于减少所述字符设置为禁止的字符。作为请求值的一部分,转义序列会自动转回。此外,还有像[rawurldecode()](https://secure.php.net/manual/en/function.rawurldecode.php)这样的东西。 – syck
您在URL的'='符号之前有一个空格。你为什么需要一个? – Xenos