Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 登录后未设置会话[Codeigniter]_Php_Codeigniter_Session - Fatal编程技术网

Php 登录后未设置会话[Codeigniter]

Php 登录后未设置会话[Codeigniter],php,codeigniter,session,Php,Codeigniter,Session,当我登录到该站点时,会话未设置。早些时候它工作得很好,但不知怎么的,现在不工作了 我的控制器代码: public function login_subadmin() { $email=$this->input->post('Email'); $password=sha1($this->input->post('Password')); $this->sb->login_sub_admin($email,$

当我登录到该站点时,会话未设置。早些时候它工作得很好,但不知怎么的,现在不工作了

我的控制器代码:

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">
            &nbsp;<?php echo $user;?>&nbsp;<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="">
我的型号代码:

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">
            &nbsp;<?php echo $user;?>&nbsp;<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="">
我的视图导航:

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">
            &nbsp;<?php echo $user;?>&nbsp;<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="">

  • profileimages/“alt=”“>
  • 当我加载页面/登录到网站时,它会显示
    无会话
    。我在自动加载中使用会话库,但我不知道为什么它突然停止工作,上次关闭项目时它工作正常,我也清除了浏览器缓存,但仍然无法修复它,我搜索了很多内容并应用了许多steps/程序,但未了解问题原因。 任何帮助都将不胜感激。

    请尝试下面的代码

    错误:

    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">
                &nbsp;<?php echo $user;?>&nbsp;<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="">
    
  • 要在会话中访问
    配置文件
    ,您需要设置它

  • 会话声明错误,修改的代码很少

  • 此外,会话设置部分应移动到控制器


  • 在控制器中

    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;
    }
    
    在视图中

    <?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">
                &nbsp;<?php echo $user;?>&nbsp;<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 
    }
    

    在控制器和post数据中显示“无法设置会话”
    打印($result)
    直到不工作,打印结果
    无法设置会话阵列([0]=>Array([Id]=>6[Employee\u Name]=>Test[Email]=>Zaffar@yahoo.com[联系方式]=>12457895[DOB]=>2016-10-22[名称]=>AC[密码]=>9341604b8acdb726ef2a1011d9c9f56bf3af810e[Profile\u Image]=>DC.png[Is\u Subadmin]=>0[Is\u Hidden]=>0]
    change
    $result[0]['Profile']
    this
    $result[0]['Profile\u Image']
    让我们来看看。您是否在config.php中设置了会话保存路径并自动启动会话