我想在其他頁面上顯示注冊用戶的名稱。我可以顯示用戶名 user_id,但我想顯示注冊用戶的名稱。這是我的控制器:
code:
public function login() {
$data['title'] = 'Sign In';
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
if($this->form_validation->run() === FALSE) {
$this->load->view('templates/header');
$this->load->view('users/login', $data);
$this->load->view('templates/footer');
}
else {
//Get username
$username = $this->input->post('username');
//Get and encrypt password
$password = md5($this->input->post('password'));
//Login user
$user_id = $this->user_model->login($username, $password);
if($user_id) {
//Create session
$user_data = array(
'user_id' => $user_id,
'username' =>$username,
'logged_in' => true
);
$this->session->set_userdata($user_data);
//Set message
$this->session->set_flashdata('user_loggedin', 'You are now logged in');
redirect('dashboard/index');
}
else {
//Set message
$this->session->set_flashdata('login_failed', 'Login is invalid');
redirect('users/login');
}
}
}
這是我的模型:
code
public function login($username, $password) {
//Validate
$this->db->where('username', $username);
$this->db->where('password', $password);
$result = $this->db->get('users');
if($result->num_rows() == 1){
return $result->row(0)->id;
}
else {
return false;
}
}
這是我的看法:
code
<p>Welcome, <?php echo $this->session->username ?> </p>
我嘗試了相同的名稱,甚至添加了上面的 user_data 陣列。但是,不知何故,它只適用于用戶名、用戶 ID 和登錄值。
uj5u.com熱心網友回復:
我假設您的資料庫中有一個“名稱”列。
在你的模型中
return $result->row();
instead of
$result->row(0)->id;
在控制器中設定會話以在會話中添加名稱
$user_data = array(
'user_id' => $user_id->id,
'name' =>$user_id->name,
'username' =>$username,
'logged_in' => true
);
在你看來
<p>Welcome, <?php echo $this->session->name ;?> </p>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/454508.html
上一篇:當我嘗試提交評論而不添加名稱和/或正文時,為什么會出現此錯誤?[復制]
下一篇:CodeIgniter4Routeurlnotfound“在此服務器上未找到請求的URL。”在Heroku上部署
