【问题标题】:CodeIgniter : How to set a value on the edit pageCodeIgniter : 如何在编辑页面上设置值
【发布时间】:2014-11-20 12:57:32
【问题描述】:

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

遇到了 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 ,而且编辑表单上的所有现有数据都不会显示。

【问题讨论】:

  • general 是某种自定义数据库库吗?
  • 你能告诉我们这个函数背后的代码吗:$this-&gt;general-&gt;get_result_array();
  • @PinoyPal 这是我的函数:public function get_result_array() { $get = $this-&gt;db-&gt;get($this-&gt;tbname); if($get-&gt;num_rows() &gt; 0) { return $get-&gt;result_array(); } else { return false; } } 我的代码没有错吗?
  • 由于您使用 return $get-&gt;result_array() 将返回一个记录数组而不是单行,您应该将其更改为 return $get-&gt;row_array() 以便您可以使用 $coba['pakar_username'] 否则您将不得不使用 $coba[n]['pakar_username'] 其中n 表示数组的索引。

标签: php forms codeigniter undefined-index


【解决方案1】:

为什么你的控制器里有这么多臃肿的代码?将数据库内容移至模型...

HTML 表单修复:

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

其次,您没有将“datasave”中的详细信息推送到视图,您只是在推送“datasend”,所以我调整了“coba2”以防您需要 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']?>"

【讨论】:

  • 感谢您的回答,但此代码在我的网络中不起作用..我在“输入字段”中有问题..
  • 给我一个机会,我会再看一遍并回复你。
  • 谢谢之前.. 我​​想编辑数据,但是当我选择数据时。空白(不显示任何内容),value="&lt;?php echo $coba2['pakar_username']?&gt;" 没有问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
  • 2015-03-11
相关资源
最近更新 更多