我想在我的网站上显示一个按钮,该按钮会显示重置,点击后会话会被重置?有任何想法吗?我的意思是重置只是清除会话,所以我想要一个html按钮,点击时只是清除会话。
答案 0 :(得分:1)
此按钮会将表单提交给执行此操作的PHP脚本:
session_start();
session_destroy();
// Typically, after doing this you will redirect the user
// to the home page with something like:
header('Location: index.php');
这就是它的全部内容。
不要对“提交表单”部分感到困惑 - 除了按钮之外,
答案 1 :(得分:1)
简单方法(几乎100%安全): 使用javascript删除cookie(大多数时候是PHPSESSID)
更复杂的方式(更安全): 使用PHP取消设置$ _SESSION(以便用户不再对PHPSESSID执行任何操作,以防止劫持),然后取消设置或重新生成$ _COOKIE ['PHPSESSID'](或session_regenerate_id)。
答案 2 :(得分:1)
创建一个包含两件事的表单: 1)包含当前URL的隐藏var 2)一个按钮,当按下该按钮时,将用户引导到清除会话的页面
在第二页上,清除会话,然后使用表单中的$ _POST信息,将用户重定向回他们所在的页面。
销毁会话:
session_start(); // if it's not already started.
session_unset();
session_destroy();
答案 3 :(得分:1)
这是来自session_destroy的PHP手册:
<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// Finally, destroy the session.
session_destroy();
?>
它首先重置所有会话数据(因此以后不能在同一页面加载中使用),然后删除会话cookie并最后销毁会从磁盘擦除数据文件的会话。