我已经在控制器和视图下面放置了codeigniter代码。当用户注销后退按钮不应该转到上一页。但是我的情况它会移到上一页。请帮助我解决问题。
控制器登录:
function index()
{
$data['main_content'] = 'login_form';
$this->load->view('includes/template', $data);
}
function logout()
{
$this->session->sess_destroy();
$this->index();
}
视图:login_form
<html>
<head>
<SCRIPT type="text/javascript">
window.history.forward();
function disableBack()
{
window.history.forward();
}
</SCRIPT></head>
<title>login_form</title>
<BODY onload="disableBack();" onpageshow="if(event.persisted) disableBack();"><div class="container">
<div class="row">
<div class="span4 logo">
<img src="<?php echo base_url('img/logosl.png'); ?>" style="margin-bottom:7px; margin-top:7px;"/>
</div>
<?php $this->load->view('includes/header'); ?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/style1.css" />
<div id="login_form">
<h1>Login!</h1>
<?php
echo form_open('login/validate_credentials');
echo form_input('username', 'Username');
echo form_password('password', 'Password');
echo form_submit('submit', 'Login');
echo anchor('login/signup', 'Create Account');
echo form_close();
?>
</div><!-- end login_form-->
<?php $this->load->view('includes/footer'); ?>
</body>
</html>
答案 0 :(得分:1)
我认为这可以帮助你,它适合我。
CodeIgniter Framework版本:
$this->output->set_header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT');
$this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate');
$this->output->set_header('Cache-Control: post-check=0, pre-check=0',false);
$this->output->set_header('Pragma: no-cache');
PHP版本:
header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0',false);
header('Pragma: no-cache');
如果您使用的是PHP OOP,请将上述代码放在构造函数中以在您的页面上进行初始化。
答案 1 :(得分:1)
您应该检查用户在应用程序页面上的身份验证,而不是禁用后退功能 (即检查用户是否已从登录页面登录并且用户是否具有正确的密钥)如果他不这样做,则应将其重定向到登录页面。 您可以通过在您的应用程序上应用适当的身份验证来实现此目的。
了解更多信息,请点击此处 http://msdn.microsoft.com/en-us/library/532aee0e(VS.71)的.aspx [^]
答案 2 :(得分:0)
您可以尝试重定向:
function logout(){
$this->session->sess_destroy();
redirect('controller/method');
}