我正在login
和logout
之后实施重定向到上一页。
所以在控制器的每个方法中,我都保存了会话,如下所示。
$this->session->set_userdata('previous_page', current_url());
成功login
和logout
后,我按如下方式调用库方法。
function redirect_to_previous_url() {
$url = base_url();
if($this->_CI->session->userdata('previous_page')) {
// Get previous_url
$url = $this->_CI->session->userdata('previous_page');
$this->_CI->session->unset_userdata('previous_page');
}
return $url;
}
但它重定向到网站的base_url
。检查会话值后,它显示未找到的图像路径,但不显示我之前保存的内容。
我无法找出背后的问题。 请帮助我纠正,工作将不胜感激
答案 0 :(得分:0)
我会确保会话已设定。像这样;
if($this->_CI->session->userdata('previous_page')) {
show_error('The session is set');
}
如果您没有看到错误,则会话未设置。然后你知道这不是问题所在。
答案 1 :(得分:0)
试试这个..
function redirect_to_previous_url() {
$url = base_url();
if($this->_CI->session->userdata('previous_page')) {
// Get previous_url
$url = $this->_CI->session->userdata('previous_page');
$this->_CI->session->unset_userdata('previous_page');
return $url;
}
return $url;
}
答案 2 :(得分:0)
无需在会话中存储以前的网址。
在核心php中,您可以在以下服务器变量中获取以前访问过的URL
$_SERVER['HTTP_REFERER'];
在CodeIgniter中可以实现相同的
$this->load->library('user_agent');
echo $this->agent->referrer();