Я хочу отобразить имя текущего пользователя.
В представлении (панель инструментов. php)
<?php
$username = $this->session->userdata('logged_in');
echo $username;
?>
В моей базе данных есть поле "имя" в таблице 'users ». Имена пользователей сохраняются здесь. но вывод, который я получаю, это просто "имя"
Итак, я добавил следующее
<?php
$username = $this->session->userdata('logged_in');
echo $username;
print_r($this->session->all_userdata());
?>
вывод:
name Array ([__ci_last_regenerate] = > 1583656504 [name] => name [] => [logged_in] => 1)
Где и в чем проблема?
Я зарегистрировал нового пользователя, значения сохранены правильно в базе данных, я могу войти тоже. но не может отобразить имя пользователя, вошедшего в систему.
Логин. php (контроллер)
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {
function __construct() {
parent::__construct();
// Load url helper
$this->load->helper('url');
$this->load->library(['form_validation','session']);
$this->load->database();
//load the Login Model
$this->load->model('UserLogin', 'login');
}
public function index()
{
$logged_in = $this->session->userdata('logged_in');
if($logged_in){
//if yes redirect to welcome page
redirect(base_url().'app/dashboard');
}
$data['title'] = 'Login';
$this->load->view('app/login', $data);
}
public function doLogin() {
//get the input fields from login form
$name = $this->input->post('name');
$email = $this->input->post('email');
$password = sha1($this->input->post('password'));
//send the email pass to query if the user is present or not
$check_login = $this->login->checkLogin($email, $password);
//if the result is query result is 1 then valid user
if ($check_login) {
// $this->session->set_userdata('logged_in', true);
$this->session->set_userdata('logged_in', $check_login);
redirect(base_url().'app/dashboard');
} else {
//if no then set the session 'logged_in' as false
$this->session->set_userdata('logged_in', false);
//and redirect to login page with flashdata invalid msg
$this->session->set_flashdata('msg', 'Username / Password Invalid');
redirect(base_url().'app/login');
}
}
public function logout() {
//unset the logged_in session and redirect to login page
$this->session->unset_userdata('logged_in');
redirect(base_url().'app/login');
}
}
код checklogin ()
<?php
class UserLogin extends CI_Model{
public function checkLogin($email, $password) {
$this->db->where('email', $email);
$this->db->where('password', $password);
$query = $this->db->get('users');
return $query->num_rows();
}