我已尝试过各种解决方案来解决这个问题,但似乎没有任何效果。我知道样式表正在发挥作用,因为其他规则已经到位。
修改 附加了.error样式,但我现在得到两个$ error的回声,一个是红色的,另一个是黑色的一行。对rcheader的引用不包含对$ error的引用。
的CSS:
.error{
color:#FF0000;
}
这是整个php页面:
<link type="text/css" href="stylesheet.css" rel="stylesheet" media="all" />
<?php // rclogin.php
include_once 'rcheader.php';
echo "<h3>Member Log in</h3>";
// $error="<span class='error'></span>";
$error = $user = $pass = "";
if (isset($_POST['user']))
{
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
if ($user == "" || $pass == "")
{
$error = 'Not all fields were entered correctly.<br />';
}
if(strlen($error)>0) {
echo '<span class="error">' . $error . '</span><br/>';
}
else
{
$query = "SELECT user,pass FROM rcmembers
WHERE user='$user' AND pass='$pass'";
if (mysql_num_rows(queryMysql($query)) == 0)
{
$error = "Username/Password invalid<br />";
}
else
{
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
die("You are now logged in. Please
<a href='rcmembers.php?view=$user'>click here</a>.");
}
}
}
echo <<<_END
<form method='post' action='rclogin.php'>$error
Username <input type='text' maxlength='16' name='user'
value='$user' /><br />
Password <input type='password' maxlength='16' name='pass'
value='$pass' /><br />
<input type='submit' value='Login' />
</form>
_END;
?>
答案 0 :(得分:3)
你的php代码的逻辑是这里的问题:
$error = $user = $pass = "";
if ($error) {
echo '<span class="error">' . $error . '</span><br/>';
}
您将错误消息设置为空字符串,然后立即将其吐出一条空错误消息,然后您运行填充$error
变量的检查?!
删除
if ($error) {
echo '<span class="error">' . $error . '</span><br/>';
}
修改此代码以添加错误输出逻辑:
if ($user == "" || $pass == "") {
$error = 'Not all fields were entered.<br />';
}
if(strlen($error)>0) {
echo '<span class="error">' . $error . '</span><br/>';
}
**请记住...... **在检查变量是否为空字符串时,请使用strlen($var)==0
或empty($var)
或检查$var==''
语句:if($var)
正在寻找一个布尔值TRUE / FALSE
答案 1 :(得分:2)
最可能的答案是另一个CSS文件为.error类定义了一个比你在这里提到的更具体的样式。
将您的CSS更改为
span.error {
color: #FF0000 !important;
}
编辑:@PeeHaa是对的。我原来的答案有点过于快速和肮脏。它将工作,但更好的解决方案是找出定义错误类的位置,或者创建一个新的自定义样式。您可能希望养成为自定义样式添加前缀的习惯,以避免将来出现这种情况。例如,如果您正在开发myawesomewebsite.com,则可以将指定的CSS重写为
span.maw_error {
color: #FF0000; }