【问题标题】:my logout script is not working我的注销脚本不起作用
【发布时间】:2018-03-06 18:53:40
【问题描述】:

require_once('../class.user.php');
$user_logout = new USER();


if($user_logout->is_loggedin()!="")

{
    $user_logout->redirect('login.html');
}

if(isset($_GET['logout']) && $_GET['logout']=="true")
{
    $user_logout->doLogout();
    $user_logout->redirect('login.html');
}

?>

这是我的注销脚本 logout.php,它不起作用,请有人帮助我。它重定向到没有 php 错误的空白 logout.php 页面。我有一个包含我所有功能的类用户文件和 login.html 以及用于后端的 login.php

【问题讨论】:

  • 如果没记错,if($user_logout->is_loggedin()!="") { $user_logout->redirect('login.html'); } 是错误的。应该改为if(empty($user_logout->is_loggedin())) { $user_logout->redirect('login.html'); }
  • 此信息不清楚。多调试并分享问题到底出在哪里。并且还分享相关功能?

标签: php html css sql


【解决方案1】:

如果没记错的话,

if($user_logout->is_loggedin()!="") { $user_logout->redirect('login.html'); }

-错了。

应该是

if(empty($user_logout->is_loggedin())) { $user_logout->redirect('login.html'); } 

改为。

【讨论】:

  • 两者有什么区别?
  • empty($user_logout->is_loggedin()) 等于 $user_logout->is_loggedin()==""!isset($user_logout->is_loggedin())。他用$user_logout->is_loggedin()!=""
  • empty 在函数调用中毫无用处。只需使用!func() 即可获得相同的结果。
【解决方案2】:

if 语句的用途:

if($user_logout->is_loggedin()!="")

如果用户没有登录,应该是注销用户。如果 if 语句是:

if(!$user_logout->is_loggedin())

如果你想让已经登录的用户退出,那么你需要从浏览器访问logout.php作为logout.php?logout=true。这将导致第二个 if 语句中的代码运行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 2017-01-07
    • 2012-06-19
    • 2018-06-09
    相关资源
    最近更新 更多