Ajax和PHP会话

时间:2014-11-24 05:13:23

标签: php jquery ajax session persistent

我有一个基于模板的站点,它始终依赖于持久会话。最近我需要通过定义数据库存储的保存处理程序来扩展会话存储。这在框架内的类的一般范围内工作正常,但是当任何页面发出ajax请求时会重新生成会话ID,如果表单被提交,则前一个会话就会消失。

  <?php

 require_once('site-database.php');
 require_once('site-config.php');


 class FileSessionHandler

 {


 private $database;

 private $life_time;


 public function FileSessionHandler(){


 $this->life_time = get_cfg_var("session.gc_maxlifetime");

 $this->database = new database();

 $this->database->newConnection(db_host,db_user_name,db_user_pass,db_user_database);


 session_set_save_handler(
array(&$this,'open'),
array(&$this,'close'),
array(&$this,'read'),
array(&$this,'write'),
array(&$this,'destroy'),
array(&$this,'gc')
);

}

2 个答案:

答案 0 :(得分:3)

请检查您是否已使用session_start()启动会话。

答案 1 :(得分:0)

我改变了php.ini文件中的一些变量,看看那里的某些东西是否导致了问题,现在它在数据库中和基于文件一样好用。保持相同的ID。

<。> session.cookie_secure在.ini文件中设置为1,我将其更改为0.