我遇到的问题是,如果我提交单引号(')或双引号(")等字符,并且在提交表单后保留值,(例如由于验证失败, ),我得到了像'和"
我尝试过很多东西,比如 -
$this->input->post("field", true)
代替$_POST
,$this->security->xss_clean($data);
但没有任何帮助。 最后,我去了system \ helpers \ form_helper.php并在第177行更改了函数form_input,如下所示 -
上一页:$defaults = array('type' => 'text', 'name' => (( ! is_array($data)) ? $data : ''), 'value' => $value);
之后:$defaults = array('type' => 'text', 'name' => (( ! is_array($data)) ? $data : ''), 'value' => html_entity_decode($value, ENT_QUOTES, 'UTF-8'));
到目前为止,这已经解决了我的问题。
我想知道这是否是达到目的的正确方法?
答案 0 :(得分:1)
我不是很确定您遇到的问题,但编辑系统文件来修复它并不是一个好主意。您应该从不更改系统文件夹中的任何内容,进行更改的正确方法是通过创建文件application/helpers/MY_form_helper.php
来扩展表单帮助程序(使用您自己的前缀,在{{中定义) 1}})并在文件内部覆盖您要更改的功能。看起来应该是这样......
application/config/config.php