Codeigniter-输入php自动将%更改为+;提交后

Codeigniter-输入php自动将%更改为+;提交后,php,codeigniter,post,input,Php,Codeigniter,Post,Input,我不知道为什么会这样。 我使用mysql作为数据库,这个字段的类型数据是文本 我使用textarea作为POST方法的输入容器,这是值 login.imagesilo.com/EFormHost.aspx?publiccess=itkjkhxdqxsbrzjadrifdgkxbyxzvtsjp9e0rzhydweuzuhutw8ydzqndhu2ycu3%2b9JO%2fefse7jdms6ytryptlnwjhix7ynsz0%2btzzqwmhsapdgwtpld8dzllc4qx 提交并使

我不知道为什么会这样。 我使用mysql作为数据库,这个字段的类型数据是文本

我使用textarea作为POST方法的输入容器,这是值

login.imagesilo.com/EFormHost.aspx?publiccess=itkjkhxdqxsbrzjadrifdgkxbyxzvtsjp9e0rzhydweuzuhutw8ydzqndhu2ycu3%2b9JO%2fefse7jdms6ytryptlnwjhix7ynsz0%2btzzqwmhsapdgwtpld8dzllc4qx

提交并使用echo显示我输入的值后,该值更改为

login.imageslo.com/EFormHost.aspx?publiccess=itkjkhxdqxsbrzjadrifdgkxbyxzvtsjp9e0rzhydweuzuhutw8ydzqndhu2ycu3+9JO/efse7jdms6ytryptlnwjhix7ynsz0+tzzqwmhsapdgwtpld8dzllc4qx

这是非常令人沮丧的。帮帮我,大师们

$post_data = $this->input->post(NULL, TRUE);
$data['link'] = $post_data['link'];
我不知道为什么,它改变了链接值,如果我使用上述代码 但使用下面的代码保持不变

$data['link'] = $this->input->post('link');

谢谢各位。

从我所看到的情况来看,这两个值看起来是一样的?这不是一个编程问题,也不清楚您要完成什么,请编辑您的问题,因为每个人都可以更好地理解您的问题。对不起,我已经编辑了这些问题。谢谢,它没有将
%
更改为
+
,而是将
%2b
更改为
+
(以及
%2f
更改为
/
)-您在什么地方做了更改吗?我没有使用urldecode(),我输入了第一个链接,然后在提交表单后,它将更改为第二个链接。什么都不要做。只需使用$post_data=$this->input->post(NULL,TRUE);然后回显发布的链接。第二个参数(
true
在第一行代码中)是是否在codeignitor中启用
XSS筛选。显然,这也弄乱了url编码。另一个选项是将此选项设置为
false
——这也是第二个解决方案工作的原因,默认情况下在安装/配置中禁用它。