form_open codeigniter问题3

时间:2016-06-03 09:20:25

标签: php codeigniter frameworks codeigniter-3

我对codeigniter form_open函数有一个奇怪的问题。

当我传递此代码时:

<?php echo form_open('login/check');?>

它实际打印出来

<form action="http://***.***.***.***/***/index.php/login" method="post" accept-charset="<meta charset="utf-8">">

错误正好在表单打开标记的末尾。位于accept-charset属性的位置。除了我不需要accept-charset属性的事实,因为我已经在头部声明了元素,它以错误的格式打印它!

accept-charset="<meta charset="utf-8">">

此代码在页面上输出表格和双引号以及角度关闭。

">

真正的问题不是accept-charset属性本身,而是错误的打印。而不是accept-charset="utf-8"它会引入charset的元标记

发生了什么事?我想不出来...... 谢谢大家!

2 个答案:

答案 0 :(得分:1)

请查看Codeigniter http://www.codeigniter.com/user_guide/helpers/form_helper.html的文档。它表示如果您使用的是form_open(),那么它会创建一个打开表单标记,其中包含根据您的配置首选项构建的基本URL。它可以选择添加表单属性和隐藏的输入字段,将始终根据配置文件中的charset值添加属性accept-charset

同时试一试它应该有效,因为如果已在属性中定义它将不会覆盖。

$attributes = array(
     'accept-charset'=>'utf8'
);
echo form_open('login/check', $attributes);

答案 1 :(得分:0)

确保您已在config.php文件中配置了base_url

$config['base_url'] = 'http://localhost/project'; //your project location

并在控制器中加载表单助手

$this->load->helper('form');