我正在尝试创建一个数据条目,控制器输入数据,显示数据并确认任何编辑,然后使用方法将其提交给模型。
问题是,在加载function post_data()
中的模型时,$this->input->post()
的值返回一个空数组。
我正在输入返回到get_data函数的数据,然后在视图中的data.php中显示它。使用
data.php in view post data给post_data方法
<form id='form' action="<?php echo base_url("welcome/post_data"); ?>" method="POST" style="display:inline;">
<input type="text" name="xyz" value="<?php echo $this->input->post("xyz") ?>" />
控制器
protected $arr;
public function index(){
$this->load->view('index/index');
// $this->load->library('Controllerlist');
// print_r($this->controllerlist->getControllers());
}
public function get_data(){
echo "matoercod";
$this->load->view("index/data");
}
public function post_data(){
$this->load->model("form1","form",TRUE);
print_r($this->input->post());
$blue=$this->form->insert_data($this->arr);
print_r($blue);
if($blue){
echo "Successfully added to database";
}
}}
为什么print_r()方法返回一个空数组?$this->input->post()在post_data方法中返回空数组。如果我是对的$this->input->post()应该是全局的所有方法在控制器CI类
您的input
标签在form
中没有name
属性。
<form id='form' action="<?php echo base_url("welcome/post_data"); ?>" method="POST" style="display:inline;">
<input name="xyz" type="text" value="<? php echo $this->input->post("xyz") ?>" />
</form>
编辑:此外,input
标签以错误的方式关闭(在value
属性之前关闭)。
<input type="text name="xyz" value="<? php echo $this->input->post("xyz") ?>" />
如果你正在加载视图data.php在get_data:
public function get_data(){
echo "matoercod";
$this->load->view("index/data");
}
那么你如何访问get_data url?如果你只是在浏览器中输入它,那么你不是张贴你正在获取,所以$this->input->post是总是将是一个空数组。
我不太清楚你是如何调用get_data方法的,但你可能应该尝试改变它,以便它更仔细地构造你想要在任何视图中显示的数据,它加载
public function get_data(){
$view_data = array(
"xyz" => "here is some value" // you could get this value from anywhere
);
$this->load->view("index/data", $view_data);
}
然后在你的视图data.php你想要引用的只是$xyz而不是$this->input->post("xyz"):
<form id='form' action="<?php echo base_url("welcome/post_data"); ?>" method="POST" style="display:inline;">
<input type="text" name="xyz" value="<?php echo $xyz; ?>" />
注意视图加载函数的第二个参数。它是一个数组,数组中的每个关联键都将在视图中扩展为一个变量。