调用PHP函数,当浏览器后退按钮点击

问题描述:

我怎么能叫PHP FunctionBrowser Back button点击或right click然后点击BACK项目,然后阻止页面时用户仍然logged-in重定向到login page调用PHP函数,当浏览器后退按钮点击

我发现这个(Pressing back button redirects the logged user to log out?)防止页面重定向至其他页面时用户点击browser back button和用户仍然登录,但我不知道在哪里把这些代码和如何调用该函数。

有人能详细解释这来完成我的问题或为了更好的理解提供一些DEMO(的jsfiddle)?

+0

没有可靠的方法来做你想做的。 – zerkms 2014-10-22 10:17:46

+0

您是否只需要在某个页面上或者只要按下后退按钮或后台事件在浏览器中触发? – 2014-10-22 10:18:00

+0

@AresDraguna仅限特定页面(仅限一页)。 – Waelhi 2014-10-22 10:18:24

你可以使用一个头重定向登录页面上,以检查用户是否登录,但是这会不会有什么页面数据被发送之前被称为:

if(isset($_SESSION['username'])){ 
    header("Location: home.php"); 
} 
+0

我想象他正在处理索引页面上的登录,这就是为什么当他回来时他看到“页面过期”消息。但使用单独的登录页面和重定向是一种更好的方法+1 – andrew 2014-10-22 10:31:51

你可以尝试使用这个:

jQuery(document).ready(function($) { 

    if (window.history && window.history.pushState) { 

    window.history.pushState('forward', null, './#forward'); 

    $(window).on('popstate', function() { 
     alert('Back button was pressed.'); //here you know that the back button is pressed 
    }); 

    } 
}); 

你可以找到答案Here

这个做什么,它与JS检查,如果后退按钮是推动,如果是这样,你可以执行任何你想要的动作。如果重定向是你所需要的,请使用window.location = "http://www.yoururl.com"; OR window.navigate("http://www.yoururl.com"); //works only with IE

或者,你可以把一个jQuery的AJAX调用那里,发送发布请求返回到特定的页面,你可以检查他们喜欢:

if(isset($_POST['ajax_response_from_js_script']) { 
    //call PHP function 
} 

希望它有帮助!
继续编码!战神。

+0

我试过你的代码,它适用于不同的浏览器,但除Safari Safari(v5.1.7) – Waelhi 2014-10-22 10:40:32