因此,我正在使用会话进行登录,我想在标题上创建菜单之一,以便在登录后显示用户名,但是在查看条件时似乎出现了问题 这是我的控制器
<?php
class Login extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('m_login');
}
function index(){
$this->load->view('header');
$this->load->view('v_login');
$this->load->view('footer');
}
function auth(){
$username = $this->input->post('username');
$password = $this->input->post('password');
$where = array(
'username' => $username,
'password' => md5($password),
'id' => '1');
$where1 = array(
'username' => $username,
'password' => md5($password));
$cek = $this->m_login->cek_login("admin",$where)->num_rows();
$cek1 = $this->m_login->cek_login1("admin",$where1)->num_rows();
if($cek > 0){
$data_session = array(
'nama' => $username,
'status' => "login_admin"
);
$this->session->set_userdata($data_session);
redirect(base_url("admin"));
}elseif($cek1 > 0){
$data_session = array(
'nama' => $username,
'status' => "login_user"
);
$this->session->set_userdata($data_session);
redirect(base_url("user"));
}else{
echo "Username dan password salah !";
}
}
function logout(){
$this->session->unset_userdata($data_session);
$this->session->sess_destroy();
redirect(base_url("welcome"));
}
}
这是我的观点
<?php if($this->session->userdata('login_admin'))
{ ?>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded" href="">Welcome Admin</a>
</li>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded" href="<?php echo base_url('login/logout'); ?>">Logout</a>
</li>
<?php }elseif($this->session->userdata('login_user'))
{ ?>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded" href="">Hai, <?php echo $this->session->userdata("nama"); ?></a>
</li>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded" href="<?php echo base_url('login/logout'); ?>">Logout</a>
</li>
<?php
}else{ ?>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded" href="login">Masuk</a>
</li>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded" href="login">Daftar</a>
有人可以告诉我控制器是否有问题,或者是我所期望的并提供解决方案?
答案 0 :(得分:3)
您在View中的状况,而不是
<?php if($this->session->userdata('login_admin'))
应该是
<?php if($this->session->userdata('status') == 'login_admin' )
您可以签入Docs来读取会话数据。
答案 1 :(得分:0)
首先,您要更正名称的拼写,然后将其保存到会话中。 然后,您可以通过以下行看到登录的用户名,
<?= $this->session->userdata('name'); ?>