亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

登錄會話不起作用 codeigniter 3.1.11 、 php 7.4

登錄會話不起作用 codeigniter 3.1.11 、 php 7.4

PHP
LEATH 2023-07-15 18:32:21
我正在嘗試創建一個簡單的登錄會話,但我被重定向到登錄頁面,這是我的 Login.php 控制器。> <?php class Login extends CI_Controller {  function __construct()  {>       parent::__construct();      if($this->session->userdata('admin'))>           redirect('admin/dashboard');     }   function index()     {>       $this->load->view('admin/login', $data);     }   function verify()   {>       //username:admin password:123456        $this->load->model('admin');    >   $check = $this->admin->validate();       if($check)      { >           $this->session->set_userdata('admin','1');>           redirect('admin/dashboard');         }       else        {>           redirect('admin');      }    }>   > > > }這是我的 Dashboard.php 控制器,如果用戶名和密碼正確,管理人員會還原該控制器<?php    class Dashboard extends CI_Controller    {        function __construct()        {            parent::__construct();            if(!$this->session->userdata('admin'))                redirect('admin');        }        function index()        {            $this->load->view('admin/dashboard');        }        function logout()        {            $this->session->sess_destroy();            redirect('admin');        }    }這是database.php   $active_group = 'default';               $query_builder = TRUE;                              $db['default'] = array(                   'dsn'   => '',                   'hostname' => 'localhost',                   'username' => 'root',                   'password' => '',                   'database' => 'ASGB-test',                   'dbdriver' => 'mysqli',                   'dbprefix' => '',                   'pconnect' => FALSE,               )              ;這是我的 autoload.php,我在這里激活數據庫和會話庫這是routes.php,歡迎控制器基本上是原始的codeigniter歡迎視圖,我還定義了管理路由我確信我輸入了正確的密碼和用戶名,但它只是將我重定向到登錄頁面
查看完整描述

3 回答

?
慕少森

TA貢獻2019條經驗 獲得超9個贊

你必須使用

session_start();

在需要會話變量的每個頁面的 php 腳本的最開始處。


查看完整回答
反對 回復 2023-07-15
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

解決了,我實際上錯過了拼寫“用戶名”和“密碼”,通過解決我成功登錄的問題。感謝您的回答



查看完整回答
反對 回復 2023-07-15
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

首先,我不知道$data在Login 控制器的index()中做什么,以及validate()在模型 admin中做什么,那么我認為最好放置登錄和注銷功能在登錄控制器中如下:


<?php 

class Login extends CI_Controller{ 

    

    function __construct(){      

        parent::__construct();

    }   


    function index() {

        $this->load->view('admin/login'); 

    }


    public function log_in()

    {

        $this->load->model('admin');


        $this->form_validation->set_rules('username', 'Username', 'trim|required', array('required' => 'Username required'));

        $this->form_validation->set_rules('password', 'Password', 'trim|required', array('required' => 'Password required'));


        //username:admin password:123456

        if ($this->form_validation->run() !== false) {

            $username = $this->input->post('username');

            $password = $this->input->post('password');


            $check = $this->admin->validate($username, $password);


            if ($check != false) {

                $this->session->set_userdata('admin','1');

                redirect('Dashboard');

            } else {

                redirect('Login');

            }

        }

        $this->load->view('admin/login'); 

    }

    

    public function log_out()

    {

        $this->session->sess_destroy();

        redirect('Login'); 

    }

}

?>

那么你的儀表板控制器如下:


<?php

    class Dashboard extends CI_Controller

    {

        function __construct()

        {

            parent::__construct();

            if(!$this->session->userdata('admin'))

                redirect('Login');

        }

        function index()

        {

            $this->load->view('admin/dashboard');

        }

    }

?>

和管理模型如下:


<?php

class Admin extends CI_Model

{

    function validate($username, $password)

    {

        $this->db->select('*')

            ->from('admins')

            ->where('username', $username)

            ->where('password', md5($password));

        $query = $this->db->get();

    

        return $query->result();

    }

}

?>


查看完整回答
反對 回復 2023-07-15
  • 3 回答
  • 0 關注
  • 208 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號