当我登录到网站时,会话没有设置。它早些时候工作得很好,但不知怎么的,它现在不起作用了。
我的控制器代码:
public function login_subadmin()
{
$email=$this->input->post('Email');
$password=sha1($this->input->post('Password'));
$this->sb->login_sub_admin($email,$password);
}我的模型代码:
public function login_sub_admin($email,$password)
{
$this->load->library('session');
$query=$this->db->where(['Email'=>$email,'Password'=>$password])->get('dc_user');
$res=$query->row();
$this->session->set_userdata('user',$res->Employee_Name);
if(!isset($this->session->userdata['user']))
{
$this->session->set_userdata('user',"No session");
}
redirect(base_url());
}我的视图导航:
<?php
if(!isset($this->session->userdata['user']))
{
$this->session->set_userdata('user',"No session");?>
<!-- Login -->
<li class="nav-item">
<a href="sub_Admin" class="nav-item-child radius-3">
Login
</a>
</li>
<!-- End Login -->
<?php }
if (isset($this->session->userdata['user'])) {$user=$this->session->userdata['user'];?>
<!-- Home -->
<li class="nav-item">
<a href="#" class="user-profile dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<?php echo $user;?> <img style="width: 30px; height: 30px;" class="image-circle" src="<?php echo base_url(); ?>profileimages/<?php if (isset($this->session->userdata['profile'])) {
echo $this->session->userdata['profile'];
}?>" alt="">当我将页面/登录加载到站点时,它会显示为no session。我在autoload中使用会话库,但是我不知道为什么它突然停止工作,上次我关闭项目时它运行得很好,我也清除了我的浏览器缓存,但仍然无法修复它,我已经搜索了很多,并在上面应用了很多步骤/过程,但是没有得到问题的原因。任何帮助都将不胜感激。
发布于 2017-08-02 19:09:14
试试下面的代码
错误:
profile ,需要将其设置为控制器中的
public function login_subadmin()
{
$this->load->library('session');
$email=$this->input->post('Email');
$password=sha1($this->input->post('Password'));
$result = $this->sb->login_sub_admin($email,$password);
if (empty($result)) {
redirect(base_url());
}
else {
$newdata = array(
'user' => $result[0]['Employee_Name'],
'profile' => $result[0]['Profile_Image'], # New Element
'logged_in' => TRUE
);
if (!$this->session->set_userdata($newdata)) {
echo "Cannot set session";
} else {
redirect(base_url());
}
}
}在模型中的应用
public function login_sub_admin($email,$password)
{
$query = $this->db->query("SELECT * FROM dc_user WHERE email = '$email' AND password= '$password' ");
$result = $query->result_array();
return $result;
}In View
<?php
$user = $this->session->userdata['user'];
if(empty($user))) # or can check logged_in == TRUE (recommended personally)
{
?>
<!-- Login -->
<li class="nav-item">
<a href="sub_Admin" class="nav-item-child radius-3">
Login
</a>
</li>
<!-- End Login -->
<?php
}
if (!empty($user))
{
?>
<!-- Home -->
<li class="nav-item">
<a href="#" class="user-profile dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<?php echo $user;?> <img style="width: 30px; height: 30px;" class="image-circle"
src="<?php echo base_url(); ?>profileimages/<?php echo $this->session->userdata['Profile_Image'];?>" alt="">
</a>
</li>
<?php
}https://stackoverflow.com/questions/45468763
复制相似问题