Jac*_*ack 5 php post codeigniter
编辑:我想我已经解决了一些问题.- 这个角色 - ’似乎打破了它.如果我使用'常规'撇号(')它似乎工作正常,如果我用常规撇号替换其中的每个时髦撇号,它提交就好了.那么,下一个问题:为什么那个花哨的撇号打破了CodeIgniter或PHP?我会认为这是一个CI错误,但如果我错了,请纠正我.无论如何,这是我最初发布的问题,我仍然会理解为什么会发生这种情况以及我能做些什么呢?
我把头发撕成了这个.这完全是奇怪的,我根本无法解决这个问题.
首先,我有一个基本形式:
<?php $attributes = array('class' => 'form1'); $selected="";
echo form_open('admin/edit_page/'.$page->row('id'), $attributes); ?>
<div>
<?php echo form_error('title'); ?>
<label>Page Title:</label><input type="text" maxlength="100" name="title" value="<?php echo $page->row('title');?>" />
</div>
<div class="textarea">
<?php echo form_error('content'); ?>
<label>Page Content:</label><textarea name="content"><?php echo $page->row('content');?></textarea>
</div>
<div class="no">
<input type="submit" value="Submit"/>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
接下来,我有相应的CI功能:
function edit_page($id)
{
$this->form_validation->set_rules('title', 'Title', 'trim|required|max_length[50]');
$this->form_validation->set_rules('content', 'Content', 'trim|required');
// If validation has failed...
if ($this->form_validation->run() == FALSE)
{
$data['page'] = $this->gallery_model->get_page($id);
$this->load->view('admin/header');
$this->load->view('admin/editpage', $data);
$this->load->view('admin/footer');
}
else // Validation successful
{
$title = $this->input->post('title');
$content = $this->input->post('content');
$this->gallery_model->edit_page($id, $title, $content);
redirect('admin');
}
}
Run Code Online (Sandbox Code Playgroud)
一切都好,到目前为止,是吗?这是疯狂问题开始的地方.
edit_page使用它die("Content is ".$_POST['content']);- 它已经清除了它自己.输出字面上写着"内容是".就这样.title字段的预期一致- 它只影响内容.WTF正在进行中?!
我确认的事情不是:
htmlspecialchars并htmlentities通过表格验证规则,没有雪茄.谢谢你的帮助.为了澄清,这里是我如何复制粘贴它的屏幕截图:

(那里没有什么复杂的,对吧?) - 最后,提交后的实际页面输出的快速截图(抱歉CSS好了,我正在研究它):

我建议你使用Text Helper库并使用它的ascii_to_entities功能:
$this->load->helper('text');
$content = $this->input->post('content');
$content = ascii_to_entities($content);
Run Code Online (Sandbox Code Playgroud)
ascii_to_entities():
将 ASCII 值转换为字符实体,包括在网页中使用时可能导致问题的高位 ASCII 和 MS Word 字符,以便无论浏览器设置如何,它们都可以一致显示或可靠地存储在数据库中。这对服务器支持的字符集有一定的依赖性,因此在所有情况下它可能不是 100% 可靠,但在大多数情况下它应该正确识别正常范围之外的字符(例如重音字符)。
| 归档时间: |
|
| 查看次数: |
2466 次 |
| 最近记录: |