[英]why isn't a style being applied to this php variable?
我已经尝试了各种解决方案来解决此问题,但似乎没有任何效果。 我知道样式表即将启动,因为已经制定了其他规则。
编辑 .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;
?>
您的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
最可能的答案是,另一个CSS文件为.error类定义了一种样式,该样式比您在此处提到的样式更具体。
将您的CSS更改为
span.error {
color: #FF0000 !important;
}
编辑:@PeeHaa是正确的。 我最初的回答有点太快和太脏了。 它会工作,但更好的解决方法是,找出错误类被定义在哪里,或创建一个新的自定义样式。 您可能想养成对自定义样式添加前缀的习惯,以免在将来避免这种情况。 例如,如果您正在开发myawesomewebsite.com,则可以将指定的CSS重写为
span.maw_error {
color: #FF0000; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.