我想检查我的 $_post['name'] 有什么问题,所以我想检查一下里面有什么,但它说这个变量没有定义。这个问题是这个问题的简化。
messageform_view:
<div id="content">
<?php $this->load->helper('form'); ?>
<?php echo form_open("HomeController/insert_message"); ?>
<p>
<label for="name">Name: </label>
<input type="text" name="name" id="name" value="" size="30" />
</p>
<p>
<input type="submit" value="Submit" />
</p>
<?php echo form_close(); ?>
</div>
message_model.php:
<?php
class Message_model extends CI_Model {
public function add_message()
{
}
}
?>
主控制器:
<?php
class HomeController extends CI_Controller
{
public function index () {
}
public function insert_message()
{
print_r($_POST['name']);
}
}
?>
错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: name
Filename: controllers/HomeController.php
Line Number: 22
从视图中删除以下代码
<?php $this->load->helper('form'); ?>
在应用程序/配置/自动加载中.php添加以下代码
$autoload['helper'] = array('form');
在控制器中检查表单的值
print_r($this->input->post());die;
在
视图部分使用它:你会得到答案
<form action="<?php echo base_url('HomeController/insert_message'); ?>" method="post">
<p>
<label for="name">Name: </label>
<input type="text" name="name" id="name" value="" size="30" />
</p>
<p>
<input type="submit" value="Submit" />
</p>
</form>
在控制器中,将名称字段获取为
$name = $this->input->post('name');