PHP字符串与===比较

时间:2011-09-18 02:52:39

标签: php string login

我正在为我的网站制作一个登录脚本。

它向用户传递等的另一台服务器发送POST(使用curl) 如果信息有误,则返回Bad login

但是当我检查答复时,即使它是错误的,也会说登录成功。

if ($result === "Bad login"){
    $password_status = 'Wrong password.';
    $error = true;
}

我也试过strcmp但没有成功。

2 个答案:

答案 0 :(得分:1)

是的,请尝试var_dump($ result),因为它可能包含其他字符。

也许试试:

<?php
if (strpos(strtolower($result), 'bad login') !== false) {
    $error = true;
}

答案 1 :(得分:0)

$ result的确切值是多少?你的完整if语句是什么?

$ result必须是完全匹配,例如:

echo ('Bad login' === 'Bad login') ? 'True<br />' : 'False<br />'; // True
echo ('Bad login ' === 'Bad login') ? 'True<br />' : 'False<br />'; // False (Space after login)
echo ('Bad Login' === 'Bad login') ? 'True<br />' : 'False<br />'; // False (Capital L on login)

修改

这就是我要比较的方式:

$result = trim(strtolower($badLoginVariable));

if($result === 'bad login') {
    // Do stuff here
}