这是我在用户模型中的代码public function update_account($first, $last, $email, $phone, $address, $company, $vat, $notes) { $this->db->query("UPDATE users SET name = ?, surname = ?, email = ?, phone = ?, address = ?, company = ?, vat = ?, notes = ? WHERE id = ?", array($first, $last, $email, $phone, $address, $company, $vat, $notes, $this->session->id));}这是我的用户控制器中的代码public function settings() { if ($this->user->is_logged()) { iF ($_POST) { $first_name = $this->input->post('ipt_first'); $last_name = $this->input->post('ipt_last'); $email = $this->input->post('ipt_email'); $phone = $this->input->post('ipt_phone'); $address = $this->input->post('ipt_address'); $company = $this->input->post('ipt_company'); $vat = $this->input->post('ipt_vat'); $notes = $this->input->post('ipt_notes'); $this->user->update_account($first_name, $last_name, $email, $phone, $address, $company, $vat, $notes); } if ($this->uri->segment(3)) { if ($this->user->is_admin($this->session->email)) { $udata['uinfo'] = $this->user->details($this->uri->segment(3)); load_content('user/settings', $udata); } } else { $udata['uinfo'] = $this->user->details($this->session->id); load_content('user/settings', $udata); } } else { redirect(); }}基本上我需要它来更新他们的信息,如果它是客户并且如果您是管理员(mysql 0 中的 perm 级别 1 默认为客户)设置我自己的设置或其他人,如果我正在查看他们的设置页面。我的 HTML 表单可以正常工作,因为我可以使用上面的代码更新我自己的详细信息,但是在查看客户设置时,我无法覆盖它们,因为它会更改我自己的设置。我希望我已经添加了足够的细节,如果没有请公平,因为我对编程和 stackoverflow 相对较新。亲切的问候,并感谢您提供的帮助。
1 回答
偶然的你
TA贡献1841条经验 获得超3个赞
在update_account
函数中,您$this->session->id
在 where 子句中使用 - 这将始终是您的 id。
尝试将要更改的用户的 ID 与其余数据一起发送,将其传递给update_account
函数并使用正确的 ID 进行更新
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报
0/150
提交
取消