注销后禁用后退按钮

时间:2013-11-19 12:10:32

标签: javascript php codeigniter

我已经在控制器和视图下面放置了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>

3 个答案:

答案 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');
}