0

更新用户的详细信息时,数据库将更新所有信息,尽管当页面刷新时,会显示以前的信息,除非用户注销并重新登录,否则它不会更新。我是 CodeIgniter 的新手。有人可以帮助我或告诉我该怎么做,我将不胜感激。提前致谢。

这是我的模型:

function updateAccount($submit_userid, $submit_phone, $submit_address, $submit_eaddress) {

    $this->db->where("intMemberID", $submit_userid);
    $this->db->update("tblMembers", array(
        "strPhoneNumber" => $submit_phone,
        "strMemberAddress" => $submit_address,
        "strEmailAddress" => $submit_eaddress,
    ));
}

这是我的控制器:

class UpdateController extends CI_Controller {

public function updateAccount() {

    $this->load->model('userModel');

    $data['userdata'] = $this->session->userdata('userobject');

    $submit_userid = $this->input->post('userid');
    $submit_phone = $this->input->post('phone');
    $submit_address = $this->input->post('address');
    $submit_eaddress = $this->input->post('eaddress');

    $this->userModel->updateAccount($submit_userid, $submit_phone, $submit_address, $submit_eaddress);

    $this->load->view('updateView', $data);
}

}
4

2 回答 2

0

因为您显示的是从上次会话中获得的旧数据。直接从数据库中读取数据并在视图中显示

于 2013-07-08T18:36:17.303 回答
0

您的用户数据是从会话而不是数据库中获取的,您有:

$data['userdata'] = $this->session->userdata('userobject');

此数据很可能会在用户登录时放入会话中,因此是您的问题。您需要将数据源更改为

$data['userdata'] = $this->userModel->returnAccount($this->user_id);

或您用于检索数据的任何方法,以从数据库中获取数据。您的模型中有任何 returnAccount 方法吗?我假设你不是写它的人。

于 2013-07-08T18:37:25.983 回答