【问题标题】:Can't logout mysql and php无法注销mysql和php
【发布时间】:2013-06-18 00:21:26
【问题描述】:

我在我的应用程序中创建了登录/注销系统,但即使使用 session_start();session_destroy();session_unset (); 等也无法正常工作。

这是我到目前为止所做的:

第一页(登录)

<?php
    if(
    !isset($_SERVER['PHP_AUTH_USER'])||
    !isset($_SERVER['PHP_AUTH_PW'])||
    ($_SERVER['PHP_AUTH_USER'])!="admin"||
    ($_SERVER['PHP_AUTH_PW']!="admin")
     )
{
header('WWW-Authenticate: Basic realm="Accès refusé"');
echo 'Accès refusé';
exit;
}
else
session_start (); 
$_SESSION['PHP_AUTH_USER'] = "admin"; 
$_SESSION['PHP_AUTH_PW'] = "admin"; 
echo '

这是注销部分

<?php

session_start();
session_unset ();
session_destroy(); 
header("Location: index.php");
die;    
?>

问题是会话没有被破坏,即使单击注销按钮也是如此。

【问题讨论】:

  • 这应该是if{ 而不是if(,然后是} 而不是) 等。另外你需要在每个页面中使用session_start();
  • 我在每一页都有 session_start() + if(condition) {} 这就是我一直的工作方式
  • 你的 "style" 非常令人困惑,即使它对你有用。
  • 是的,我看到session_start(); 通常位于页面的顶部,而不是隐藏在else 下方。可能是它被破坏的原因。
  • 它在 (else) 之后,因为在我的情况下,或者正确地说,我开始的条件是如果没有登录名或密码,或者在这种情况下它们是错误的,那么什么都必须发生,但在其他情况下,会话应该开始并且成员页面显示出来(在回声之后)

标签: php mysql login logout


【解决方案1】:

创建另一个登录/注销系统,并不难。

【讨论】:

  • 如果我使用其他浏览器会改变什么吗?
  • @user2507171,是的,您将能够使用 cookie 和会话处理身份验证。
  • 如果你确定使用其他浏览器可能会改变它,但它仍然不能解决手头的“现有”问题。如果有人使用你现在正在使用的东西怎么办?
  • 我什至没有注意到。
猜你喜欢
  • 1970-01-01
  • 2015-08-01
  • 2013-01-24
  • 2014-02-25
  • 2018-05-16
  • 2012-01-21
  • 2018-01-14
  • 2013-07-15
  • 1970-01-01
相关资源
最近更新 更多