【问题标题】:Returning Boolean Value PHP MongoDB返回布尔值 PHP MongoDB
【发布时间】:2012-05-10 15:50:05
【问题描述】:

我正在尝试对登录脚本实施防错。但是,我不能让它工作吗?我不知道发生了什么,也不知道为什么它不像我期望的那样工作。我都试过了,请指教。

这是我调用的方法:

public function i_exist($this_username)
{
    //$host_array = null;
    //$host_array = $this->collection->findOne(array("Username" => $this_username));
    //if ($host_array['Username'] = $this_username)
    //{
          return true;
    //}

    //return false;
}

我是这样称呼它的:

if (!empty($_POST['Username']))
{           
    $host  = new Host();        
    $event = new Event();

    if ($host->i_exist($_POST['Username']))
    {
        header("Location: http://www.drink-social.com/error.php?login=duplicate");  
    }

它应该检查数据库并查看该用户名是否已在使用中。但它从不指向错误页面?我什至尝试将所有内容都注释掉并返回 true,然后返回 1。什么都没有? 有什么建议吗?

【问题讨论】:

  • 你确定这个方法被调用了吗?您也可以尝试使用 curl 调用您的页面以查看/调试返回的标题。 (顺便说一句,欢迎使用 stackoverflow)
  • 不知道有没有被调用?我知道下面的所有内容都被调用,因为它似乎只是跳过了该 if 语句并继续添加用户并为他们分配另一个 ID?它的行为就像 if 语句不存在...?
  • 已解决。因为下面的代码没有包装在 else 语句中,它继续执行,写入数据库,并拉起成员的页面。我只是假设在调用 header 时,它停止执行上一页上的代码...

标签: php authentication object methods boolean


【解决方案1】:

当你调用 header();您还需要调用 exit();否则脚本继续运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2020-07-29
    相关资源
    最近更新 更多