【问题标题】:Problem with browser forward and backword button浏览器前进和后退按钮的问题
【发布时间】:2011-07-28 23:48:26
【问题描述】:

我的问题是,当我登录我的应用程序并在会话中存储用户 ID 之后,我按下浏览器后退按钮再次进入登录页面并且该状态(登录)我检查我的登录页面是否存在任何用户然后调用注销当用户登录并按后退然后按前进时注销和相同的检查功能。但是这两种情况我的应用程序都显示了以前的登录页面。

我希望当用户成功登录并查看状态为按下浏览器后退按钮并到达登录页面的成功页面时,用户会自动注销并且无法单击前进按钮(禁用前进按钮)。

当用户登录并单击以注销链接并销毁所有会话数据并到达登录页面时,该状态以单击浏览器转发按钮无效(禁用)。Firefox、chrome 和 IE 在注销后运行良好向前和向后禁用并满足我的需求,但 Opera、Safari 和其他浏览器有问题。请帮我。这是我的代码 sn-p

//Login function
public function index(){

$data = array();

if( $_SESSION['companyId'] ){
$this->logout();
}

$data['company'] = $this->Main->getCompany();               
echo $this->load->view('auth/login', $data);
}

//login success function
public function login(){

$data = array();

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

if($_SESSION['companyId']){
    $company_id = $_SESSION['companyId'];
}

$_SESSION['companyId'] = $company_id;         

$this->layout->view('auth/index', $data);               
}

//Log out function
public function logout()
{
session_destroy();
    redirect(base_url().'index.php/auth/index'); 
}

【问题讨论】:

  • 你可以使用 header('Location: index.php');登录后将它们发送到索引页面,则不会有前进按钮
  • 将此行 echo session_cache_limiter(); 添加到您使用会话的页面之一,记下值,在您的问题中发布。之后删除该行。

标签: php browser controls


【解决方案1】:

你不能在 php.ini 中做到这一点。 php 是服务器端,浏览器上的“返回”会重新加载浏览器缓存的上一页,所以当然是一样的。

如果你想要这样的东西,你必须使用 javascript 并希望没有一个禁用javascript。无论哪种方式,浏览器上的“后退”按钮都是一种糟糕的注销方式。注销按钮有什么问题?

【讨论】:

    猜你喜欢
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多