Php codeigniter、$\u会话和cookie在本地主机上工作正常,但在服务器上工作不正常

Php codeigniter、$\u会话和cookie在本地主机上工作正常,但在服务器上工作不正常,php,codeigniter,session,cookies,Php,Codeigniter,Session,Cookies,我是Codeigniter的新手,我的问题是,我的管理面板在本地主机上工作良好,但在服务器上工作不好,当我登录时,在服务器上,它的Goto仪表板,并在重新重定向到登录页面之后。 这是我的密码 dashboard.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Dashboard extends CI_Controller {

我是Codeigniter的新手,我的问题是,我的管理面板在本地主机上工作良好,但在服务器上工作不好,当我登录时,在服务器上,它的Goto仪表板,并在重新重定向到登录页面之后。 这是我的密码

dashboard.php

        <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    class Dashboard extends CI_Controller {

        function __construct()
        {
        parent::__construct();
             error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
            session_start();
            if (!isset($_SESSION['userid']) || $_SESSION['userid'] < 1){
                $this->session->set_flashdata('errorm','Session timed out. Login again');
                redirect('admin/','refresh');
            }
        }

        function index()
        {
            $data['title'] = "Manage Dashboard";
            $data['main'] = 'admin/main';
            $data['webpagename'] = 'main';
            $this->load->vars($data);
            $this->load->view('admin/template/innermaster'); 
        }

        function logout()
        {
            unset($_SESSION['userid']);
            unset($_SESSION['username']);

            $this->load->helper('cookie');
            delete_cookie("username");
            delete_cookie("password");
            delete_cookie("userid");

            $this->session->set_flashdata('error',"You've been logged out!");
            redirect('admin/','refresh');   
        }

        function subscribe()
        {
            /**
            * form_validation
            */
            $this->form_validation->set_rules('name', 'Name', 'required');
            $this->form_validation->set_rules('email', 'Email',  'required|valid_email');
            $this->form_validation->set_rules('captcha', 'Captcha', 'required');
            if ( $this -> _check_capthca() )
            {
                if ($this->form_validation->run() == FALSE)
                {
                    $this->session->set_flashdata('subscribe_msg', 'All fields are required . Please try again!');
                    redirect('welcome/index');
                }
                else
                {
                    $this->MSubscribers->createSubscriber();
                    $this->session->set_flashdata('subscribe_msg', 'Thanks for subscribing!');
                    redirect('welcome/index','refresh');
                }
            }
            else
            {
                $this->session->set_flashdata('subscribe_msg', 'Enter captcha . Please try again!');
                redirect('welcome/index');
            }
        }

        public function changepassword()
        {
            $data['main'] = 'admin/change_password';
            $data['webpagename'] = '';
            $this->load->vars($data);
            $this->load->view('admin/template/innermaster');
        }

        function forgot_password()
        {
            // $this->model->MAdmins();
            if ($this->input->post('retype_newpass'))
            { 
                $count = $this->MAdmins->verifyPassword(); 
                if($count=='0')
                {
                    $this->session->set_flashdata('errorm', 'Your Old Password does not match');
                    redirect('welcome/forgot_password');
                }
                else
                {
                    $this->MAdmins->change_password();
                    $this->session->set_flashdata('message', 'Your Password has been changed..!');
                    redirect('welcome/verify');
                }
            }
            else
            {
                $data['title'] = 'Forgot Password';
                $data['main'] = 'forgot_password'; 
                $this->load->vars($data);
                $this->load->view('template');
            } 
        }

        public function updatepassword()
        {
            $this->load->helper('cookie');
            $data['main'] = 'admin/change_password';

            $this->load->vars($data);
            $this->load->view('admin/template/innermaster');

            $this->load->model('madmins');
            $flag= $this->madmins->updatepassword();    
            if($flag=="false")
            {
                $this->session->set_flashdata('passmessage','false');
            }
            else
            {
                $this->session->set_flashdata('passmessage','true');
            }
            redirect('/admins/dashboard/changepassword','refresh');
        }

    }

    /* End of file welcome.php */
    /* Location: ./application/controllers/welcome.php */
        <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');


    class Admin extends CI_Controller {

        /**
        * Index Page for this controller.
        *
        * Maps to the following URL
        *       http://example.com/index.php/welcome
        *   - or -  
        *       http://example.com/index.php/welcome/index
        *   - or -
        * Since this controller is set as the default controller in 
        * config/routes.php, it's displayed at http://example.com/
        *
        * So any other public methods not prefixed with an underscore will
        * map to /index.php/welcome/<method_name>
        * @see http://codeigniter.com/user_guide/general/urls.html
        */
        function __construct()
        {
            parent::__construct();
        error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
            session_start();
        }

        public function index()
        {
            $this->load->helper('cookie');
            if(get_cookie('username') && get_cookie('password') && get_cookie('userid'))
            {
                $_SESSION['userid'] = get_cookie('userid');
                $_SESSION['username'] = get_cookie('username');
                redirect('admins/dashboard','refresh');
            }
            $this->load->view('admin/index');
        }

        public function login()
        {
            $this->load->view('admin/index');
        }

        function verify()
        {
            $this->load->helper('cookie');

            if(get_cookie('username') && get_cookie('password') && get_cookie('userid'))
            {
                $_SESSION['userid'] = get_cookie('userid');
                $_SESSION['username'] = get_cookie('username');

            }

            if ($this->input->post('username'))
            {
                $u = $this->input->post('username');
                $pw = $this->input->post('pass');
                //$this->load->database();

                $this->load->model('MAdmins');
                $this->MAdmins->verifyUser($u,$pw);

                if ($_SESSION['userid'] > 0)
                {   
                    redirect('admins/dashboard','refresh');
                }
                else
                {
                    $this->session->set_flashdata('message','Your login attempt was not successful. Please try again.');
                    redirect('admin/','refresh');
                }
            }
            $data['main'] = 'admin/index';
            $this->load->vars($data);
        }
    }

    /* End of file welcome.php */
    /* Location: ./application/controllers/welcome.php */

你为什么要这么做


另外,我认为您可能会得到一个反馈循环,因为您没有在重定向中定义base_url()。您需要加载url帮助器。尝试将其添加到confg文件夹中的自动加载程序。

收到任何错误/警告吗?发布本地主机和服务器的php.ini会话设置。很可能您对它们进行了不同的配置,因此服务器1无法维护会话或正确创建会话。@crypticツ 在哪里可以接收服务器的php.ini?在哪里添加此代码?在dashboard.php或admin.php中,请引导meI在其中更新更多内容。我认为你的主要问题是你的重定向中没有一个base_url,比如redirect(base_url('admin/');
// Set the data    
$this->session->set_userdata('username',$value);

//can also be done like this
$array = array('one'=>'one','two'=>'two');
$this->session->set_userdata($array);

// to pull information from the session    
$username = $this->session->userdata('username');