PHP会话重置按钮

时间:2011-05-03 18:25:23

标签: php

我想在我的网站上显示一个按钮,该按钮会显示重置,点击后会话会被重置?有任何想法吗?我的意思是重置只是清除会话,所以我想要一个html按钮,点击时只是清除会话。

4 个答案:

答案 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并最后销毁会从磁盘擦除数据文件的会话。