Проблема сравнения двух переменных PHP - PullRequest
0 голосов
/ 14 июля 2010

это может показаться глупым вопросом, но, тем не менее, ставит меня в тупик. Я уверен, что ответ - что-то маленькое. Я думаю, что это всего лишь одна из тех ситуаций, когда я слишком долго смотрю на код.

Я пытаюсь сравнить две переменные PHP, чтобы увидеть, являются ли они одинаковыми. Как вы можете видеть ниже, я сравниваю $verification_answer с strrev(date("Ymd")), которая является сегодняшней датой в обратном порядке. Так что сегодня $verification_answer будет 31700102. Однако каждый раз, когда я пытаюсь выполнить сравнение, оператор if выполняется (как несоответствие).

$verification_answer = strrev(date("Ymd"));

if($verification != $verification_answer){
     $failed .= "<h2>Attention:</h2><p>The verification code is incorrect. Please try again.</p>"; 
}

Кто-нибудь может увидеть проблему? Спасибо!


ОБНОВЛЕНИЕ: $verification из пользовательского ввода HTML:

$verification = mysql_escape_string($_POST['verification']);

Ответы [ 3 ]

6 голосов
/ 14 июля 2010

Нет ничего плохого в выражении if.Отобразите два значения, и вы должны увидеть какую-то разницу:

var_dump($verification);
var_dump($verification_answer);

Возможно, $verification не содержит того, что, по вашему мнению, оно делает, или вы ошиблись в нем ранее и присвоили другой переменной, или...

3 голосов
/ 14 июля 2010

Я сравниваю $ valid_answer со strrev (date ("Ymd"))

Если это действительно то, что вы намеревались сделать, я думаю, вы перепутали имя переменной в первой строке; должно быть:

$verification = strrev(date("Ymd"));

Если вы случайно перезаписали значение $verification_answer и использовали $verification в сравнении, когда оно не определено, сравнение всегда будет ложным. PHP выдаст предупреждение, но если вы отключите их, вы не увидите его

0 голосов
/ 14 июля 2010

Я, должно быть, где-то написал проверку неверно ... Я скопировал и вставил «подтверждение» в каждое существующее имя переменной, и это устранило проблему.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...