【问题标题】:PHP: testing sessionPHP:测试会话
【发布时间】:2009-09-04 15:46:14
【问题描述】:

为什么建筑很脆弱?我尝试将“!empty ( get_original_passhash() )”作为条件,但它引发了您无法使用返回值的错误。

if (  get_original_passhash () != '' ) 
{
    set_login_session ( get_original_passhash() );
}else
    print("Please, log in.");

【问题讨论】:

  • 呃?什么是它们不在标准 php lib 中的函数,所以除非我们猜测它们的作用或它们来自哪里,否则我们将无法为您提供帮助。
  • p4bl0:请参阅:pastebin.com/m6f6df104
  • 请将相关代码放在您的问题中,而不是放在第三方网站上。

标签: php session


【解决方案1】:

我倾向于在您测试之前分配变量,并且可能还会稍微清理一下您的格式:

$original_hash = get_original_passhash();

if ($original_hash != ""){
    set_login_session(get_original_passhash());
} else {
    print("Please Log In");
}

您还应确保 get_original_passhash() 返回正确类型的变量 - 整数、字符串、布尔值等。

编辑:

function get_original_passhash(){
    $dbconn = pg_connect("host=localhost port=5432 dbname=heoa user=heoa password=123");

    if(!empty($passhash_session)){
        return $passhash_session;
    } else {
        return $passhash_post;
    }
}

这段代码应该做什么?它连接到数据库,然后测试一个突然出现的变量?您的代码不起作用,因为从您提供给我们的示例中,甚至没有设置任何内容。这是这个函数的完整源代码吗?

【讨论】:

  • +1 好点,get_original_passh 函数是不必要的。
【解决方案2】:

你可能想拆分你的逻辑:

如果(is_logged_in()){ set_login_session(get_original_passhash()); } 别的 { print("请登录"); }

因为,在条件中,您不想要 pass 哈希。您想知道他们是否已登录。

【讨论】:

    猜你喜欢
    • 2013-05-14
    • 2014-07-08
    • 2011-05-07
    • 2011-08-20
    • 2017-11-10
    • 2010-09-16
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多