我正在编写一个代码,要求用户输入用户名和密码。如果提供的详细信息与数据库中的详细信息匹配,则会显示数据,否则会提示他提供的信息无效。 以下是代码中表示信息无效的部分,
<?php if($user!=$username && $pass!=$password)
{
?>
<p id="intro">Invalid Information</p>
<?php
}
?>
但我面临的问题是,即使用户名和密码不匹配,也不会显示消息Invalid Information。请帮忙。感谢
答案 0 :(得分:6)
你需要OR而不是AND:
<?php if($user!=$username || $pass!=$password) : ?>
<p id="intro">Invalid Information</p>
<?php endIf; ?>
P.S。我使用了替代语法。它看起来更好。
使用OR而不是AND的原因,如果您检查AND,只有两者用户名 AND 密码错误时,条件才会评估为true(如果有他们是正确的,你会得到FALSE)。
答案 1 :(得分:1)
你的逻辑似乎是错误的。因为你使用的不等于与两个变量进行比较,所以你要从逻辑中得到什么,你必须使用||而不是&amp;&amp;。
答案 2 :(得分:-1)
<?php if($user!=$username && $pass!=$password)
{
echo '<p id="intro">Invalid Information</p>';
}
?>