通过$ _GET输入特殊字符。

时间:2014-05-15 06:54:17

标签: php codeigniter

$Tags=$_REQUEST['Tags'];
$CategoryId=$_REQUEST['CategoryId'];
var_dump($Tags);

我的意见是:

baseurl / project / controller / method?CategoryId = 3& Tags = Other,testcase,Bar&餐厅,餐饮

当我提供这样的输入时,我收到错误 '禁止键值' ....我知道错误是因为特殊字符'&'在Bar&餐厅..... 我如何通过Bar&餐厅没有收到错误

3 个答案:

答案 0 :(得分:0)

某些字符无法直接使用。使用urlencode() http://php.net/urlencode当编码要在URL的查询部分中使用的字符串时,此功能很方便。

答案 1 :(得分:-1)

你应该编码,所以&将是&

可以使用htmlspecialchars()功能完成此操作,请参阅文档here

答案 2 :(得分:-1)

您不允许使用,等字符通过网址传递参数。您可以对要传递的字符串进行编码(其他,测试用例,条形码)。

尝试:

$vars = urlencode(join(',', array(Other,testcase,Bar)));

通过网址

aseurl/project/controller/method?CategoryId=3&Tags=<?php echo $vars ?>

在结果页面中处理它

$vars = explode(',', urldecode($_GET['Tags']));