|
我需要在MY_Controller类里面实现记录前一页的URL.将它保存在 session_flashdata里面,但是却老丢失。
PHP复制代码
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class MY_Controller extends CI_Controller {
protected $data = array();
// save previous page ********************************************
protected $CurrentURL;
protected $PreviousURL;
protected $SaveURL = TRUE;
function __construct () {
parent ::__construct ();
$this->PreviousURL = $this->session->flashdata('PreviousURL');
$this->CurrentURL = $this->uri->uri_string();
var_dump($_SESSION);
}
function __destruct () {
if ($this->SaveURL == TRUE) {
$this->session->set_flashdata('PreviousURL', $this->CurrentURL);
} else {
$this->session->set_flashdata('PreviousURL', $this->PreviousURL);
} var_dump($_SESSION);
}
}
复制代码
显示结果是:
array (size=1) '__ci_last_regenerate' => int 1546445802
页面正文
页面正文
页面正文
array (size=3) '__ci_last_regenerate' => int 1546445802 'PreviousURL' => string 'config/account/usergrouplist' (length=28) '__ci_vars' => array (size=1) 'PreviousURL' => string 'new' (length=3)
显然,按理说每一次跳转页面或刷新,析构函数会把URL传递到下一个Controller的构造函数里面,但是通过观察显然是丢失了。
|
|