CodeIgniter:如何在编辑页面上设置值

时间:2014-09-25 16:45:26

标签: php forms codeigniter undefined-index

我想制作一个编辑表单,但在显示数据时遇到问题。这是我的代码中的警告..

  

遇到PHP错误

     

严重性:注意

     

消息:未定义的索引:pakar_username

     

文件名:m_pakar / edit_pakar.php

     

行号:20

这是我的观点:

<form method="post" role="form" action="<?=base_url()?>admin/m_pakar/edit_pakar?>">
  <label>Username</label>
    <input class="form-control" type="username" name="username" value="<?php echo $coba['pakar_username']?>" ><br>
  <label>Password</label>
    <input class="form-control" type="text" name="password" value="<?php echo $coba['pakar_password']?>"><br>
  <label>Email</label>
    <input class="form-control" type="email" name="email" value="<?php echo $coba['pakar_email']?>" ><br>
  <button type="submit" class="btn btn-success">Update</button>
</form>

我的控制器:

public function edit_pakar($id){

    $this->general->set_table('data_pakar');
    $this->general->order('pakar_id', 'asc');

    $datasend['coba'] = $this->general->get_result_array();

    $datasave = array(
            'pakar_username' => $this->input->post('username', TRUE),
            'pakar_password' => md5($this->input->post('password', TRUE)),
            'pakar_email' => $this->input->post('email', TRUE),
    );

    $this->general->set_table('data_pakar');
    $this->general->where($datasave);

    $this->general->update($datasave);
    $dataview['content'] = $this->load->view('admin/m_pakar/edit_pakar', $datasend, TRUE);
    $this->load->view($this->template, $dataview);

}
  

我的代码有问题吗?不仅是pakar_username,而且还没有显示编辑表单上的所有现有数据。

1 个答案:

答案 0 :(得分:0)

为什么你的控制器中有这些臃肿的代码?将数据库内容移动到模型...

HTML表单修复:

<form method="post" role="form" action="<?=base_url()?>admin/m_pakar/edit_pakar">

其次,你没有在&#34; datasave&#34;中推送细节。在视图中,您只是推送&#34; datasend&#34;所以我调整了&#34; coba2&#34;如果你需要coba ...

$datasend['coba'] = $this->general->get_result_array();

$datasave = array(
        'pakar_username' => $this->input->post('username', TRUE),
        'pakar_password' => md5($this->input->post('password', TRUE)),
        'pakar_email' => $this->input->post('email', TRUE),
);

$datasend['coba2'] = $datasave;

现在编辑输入字段:

value="<?php echo $coba2['pakar_username']?>"