Сравнение строк PHP с === - PullRequest
       0

Сравнение строк PHP с ===

1 голос
/ 18 сентября 2011

Я делаю сценарий входа для своего сайта.

Он отправляет POST (используя curl) на другой сервер с пропуском пользователя и т. Д.
Если информация неверна, этовозвращает Bad login

Но когда я проверяю ответ, даже если он неправильный, он говорит, что вход выполнен успешно.

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

Я также попытался strcmp, но безуспешно.

Ответы [ 2 ]

1 голос
/ 18 сентября 2011

Да, попробуйте var_dump ($ result), поскольку он может содержать другие символы.

Может быть, попробовать:

<?php
if (strpos(strtolower($result), 'bad login') !== false) {
    $error = true;
}
0 голосов
/ 18 сентября 2011

Каково точное значение $ result?и каково ваше полное выражение if?

$ результат должен быть точным, например:

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...