我有一个drupal网站,我正在尝试集成控制面板的API我正在整合登录到drupal网站。在API中,我必须定义一个注销链接mywebsite.com/logout
,告诉用户他或她已经注销。
但是,我希望它返回登录页面并显示警告。
我希望有一种方法可以将API中的注销链接定义为mywebsite.com/login?=logout
或类似的东西。
当用户退出控制面板时,它会将用户发送到mywebsite.com/login?=logout
。
我希望在网址包含时在网页上显示HTML代码
?=logout
。我已经在页面顶部显示了可供选择框的HTML代码。但是,我不知道如何实现它,只有在URL为mywebsite.com/login?=logout
谢谢!
答案 0 :(得分:0)
PHP是一种服务器端语言,因此,为了做到这一点,您需要与访问它的每个用户保持开放连接。除非必要,否则这不是一个好主意。
由于这是一项简单的任务,PHP可以在HTML代码中输出一个简单的metacommand,如下所示:
<meta http-equiv="refresh" content="300; url=http://www.yourwebsite.com/yourloginscript.php?action=login">
但是,仅此一项工作无法完成,因为如果用户导航回来,网页将正常提供页面。不需要。您还需要在一段时间后使cookie过期,这可以这样做:
// get the $username first, it can be store in the SESSION.
setcookie('username', $username, $Logtime)
请记住将$ Logtime设置为300秒。每次访问网站时刷新此选项,以便每次用户打开页面时都会启动300秒。在每次访问时检查cookie的有效性,以确保用户仍然登录,这样,您将获得所需的功能。
另一种方法是使用:
<meta http-equiv="refresh" content="300; url=http://www.yourwebsite.com/yourloginscript.php?action=logout">
然后让脚本在那一刻记录用户,如下所示:
// Clear the username.
setcookie('username', "", $Logtime)
请注意,如果用户以某种方式禁用了HTML转发,这将无效,并且有多种方法可以禁用自动转发。
即使是另一种方法,也可以在Javascript中使用计时器来完成工作,并在时间过后转发到“注销”URL。
我会亲自使用它们的组合来确保。
答案 1 :(得分:0)
你可以这样做。
if(isset($_GET['logout'])){
echo "<script>alert('test');</script>";
}
希望它对你有所帮助。