2012-06-09 2 views
-1

Я пишу код, в котором пользователю предлагается ввести имя пользователя и пароль. Если предоставленные данные соответствуют данным в базе данных, он отображает данные, иначе ему будет предложено сообщить, что предоставленная информация недействительна. Вот часть кода, который говорит информация недействительна,HTML не отображается в браузере

<?php if($user!=$username && $pass!=$password) 
    {   
?> 
<p id="intro">Invalid Information</p> 
<?php 
    } 
?> 

Но проблема я столкнулся в том, что даже если имя пользователя и пароль не совпадают, то сообщение Invalid информация не отображается. Пожалуйста, помогите. Благодаря

+0

Does '! ==' in place '! =' Help? – Jashwant

ответ

6

Вы должны OR, не AND:

<?php if($user!=$username || $pass!=$password) : ?> 
<p id="intro">Invalid Information</p> 
<?php endIf; ?> 

P.S. Я использовал альтернативный синтаксис. Это выглядит лучше.


Аргументация с помощью OR и AND, если вы проверить и, только если как имя пользователя И неверный пароль, то условие будет вычисляться истинно (если один из них является правильным, вам будет ЛОЖЬ).

+0

+1 Путь слишком чистый и легкий. –

-1
<?php if($user!=$username && $pass!=$password) 
    {   
echo '<p id="intro">Invalid Information</p>'; 
    } 
?> 
+0

Вы уверены, что id 'intro' должен работать в теге echo? Я видел, что он работает, если его «span». Не знаю о теге 'p'. –

+2

@StartupCrazy его просто инструкция печати - она ​​будет работать с каждым тегом, просто убедитесь, что не смешивать кавычки – Valerij

1

Ваша логика кажется неправильной. поскольку вы используете не равные для сравнения с обеими переменными, так что вы пытаетесь получить от логики, вы должны использовать || вместо & &.

Смежные вопросы