PHP中的注销超链接?

时间:2010-05-10 09:12:49

标签: php

如果有人知道,我怎样才能在PHP中创建超链接...

<?php
  echo( '<a href="index.php">Log-out</a>' );
?> 

不仅可以导航到第一页,还可以删除Cookie?

谢谢!

7 个答案:

答案 0 :(得分:4)

您可以创建另一个清除所有Cookie的页面(即将它们设置为过去过期),然后重定向到index.php

// page: clear.php
<?php
session_start();
$_SESSION = array();
session_destroy();

setcookie('cookie1', '', strtotime('-2 days'));
setcookie('cookie2', '', strtotime('-2 days'));
// etc.
header('Location: index.php');
exit();

答案 1 :(得分:3)

我通常使用manual

规定的方法
<?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();
?>

唯一剩下的就是header('Location: index.php');

答案 2 :(得分:1)

这是您的HTML链接

<a href="index.php?logout">Log-out</a>

你的PHP要处理退出

if(isset($_GET['logout'])) {
    // clear the session variable, display logged out message
}

答案 3 :(得分:1)

使用以下链接:

<?php
  echo( '<a href="index.php?link=logout">Log-out</a>' );
?> 

而index.php是:

<?php
  $link = $_GET["link"];
  if($link == "logout")
  {
     session_destroy();
  }
?>

答案 4 :(得分:1)

在您的链接中提交参数,例如index.php?logout=true,在index.php中检查该参数,如果设置,请删除Cookie:

http://php.net/manual/de/function.setcookie.php

如果您将Cookie的“生命周期”(过期)设置为过去的某些内容(或将其完全保留),则会在下一个页面加载时将其删除(在Google上搜索“php delete cookie”以查找救命)。如果需要,强制页面重新加载。

您可能还想破坏用户的会话。

答案 5 :(得分:1)

在导航菜单中:

<a href="logout.php">Log out</a>

logout.php

<?php
// kill the session
header('Location: index.php');
exit();    

要杀死会话,请参阅PHP手册中session_destroy()处的示例。

答案 6 :(得分:1)

退出链接:

<a href="logout.php">Log Out</a>

<强> logout.php

<?php
    session_start();
    session_destroy();
?>