defined("basepath") or exit("no direct script access allowed");
/**
* admin of the content
*/
class admin extends ci_controller {
private $signature;
public function __construct()
{
parent::__construct();
$this->load->helper("url_helper");
$this->load->library("session");
//session_start();
}
public function index()
{
/** login each time visit **/
if (isset($_session['user_name'])) {
$this->display("welcom");
} else {
$this->display("login");
}
}
public function login()
{
$_session['user_name'] = $this->input->post("user_name");
$this->display("welcom");
}
private function display($pages)
{
$this->load->view("templates/header", $data);
$this->load->view("admin/$pages", $data);
$this->load->view("templates/footer");
}
}
基于codeigniter的模板框架,上面的控制器代码,逻辑是:首次访问时,调用index函数,判断$_session['user_name']没有设置就显示login页面,login页面把数据提交给login函数,并在login函数中设置$_session['user_name'].
现在的问题是:
1、首次访问的session_id()和登录页面提交后(login函数)的session_id()不一致。请问为什么?
2、这样就引发了另一个问题,如果再打开一个标签页(相当于一个窗口吧),重新访问时(此时调用index函数),$_session['user_name']没有设置,必须重新登录。
请教如何解决?
没人遇到过吗?
php.ini 中 session.auto_start = 0
php.ini 中 session.auto_start = 0
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号