【发布时间】:2018-03-31 07:48:26
【问题描述】:
我使用 CodeIgniter,并且我有一个带有一些输入字段的公式。问题是,当我将特殊字符写入“&”等输入字段时,它会保存为&,当我重新加载表单以编辑值时,它会像这样显示。
这会导致很多错误,需要解决。该值需要保存为“&”。
我将 form_validation 用于这样的输入字段:
$this->form_validation->set_rules("input1", "Name", "required|trim");
$this->form_validation->set_rules("input2", "Name", "required|trim");
稍后,我将所有输入写入一个数组并将其交给模型中的一个函数:
$input= array();
$input["input1"] = set_value("input1");
$input["input2"] = set_value("input2");
$this->MInput->update_input($input_id, $input);
模型如下所示:
function update_input($input_id, $input) {
if($this->db->update("pa_it_input", $input, "id = $input_id") === FALSE) {
$error = $this->db->error();
log_message("error", "Database error in MInput [".$error["code"]."] ".$error["message"]);
return FALSE;
}
我不知道是什么导致了错误。我已经检查过所有表都设置为 UTF-8,并且页面以 UTF-8 加载。
【问题讨论】:
-
那么,您将字符串传入和传出的接口文档对
&和&等字符和字符串有什么看法?另请阅读minimal reproducible example 并采取行动。 -
可能与您的表单有关。请出示。使用表单助手或
form_prep()
标签: php html mysql codeigniter utf-8