我想将css类(.error)应用于$error
的每个回显实例。这似乎是一件容易的事,我只是不确定语法。
<?php // rclogin.php
include_once 'rcheader.php';
echo "<h3>Member Log in</h3>";
$error = $user = $pass = "";
if (isset($_POST['user']))
{
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
if ($user == "" || $pass == "")
{
$error = "Not all fields were entered<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 />";
}
答案 0 :(得分:3)
首先 - 不要将$error
放入整个HTML。在我看来,这是一个糟糕的习惯。只放置一个错误信息:
$error = 'Not all fields were entered';
然后在HTML中打印错误信息:
if ( $error ) {
echo '<span class="error">' . $error . '</span><br/>';
}
正如您所看到的 - 如果您在变量中传递HTML,那么您完成所需操作的机会就会减少。
答案 1 :(得分:2)
为了提出略有不同的建议,我喜欢将我的错误作为一个类来实现。
现在因为它是一个类,我可以使用__toString()
魔法。
class Error
{
...
public function __toString()
{
...
$output = '<span class="error">' . $output . '</span>';
return $output;
}
}
$error = new Error;
现在当你回显$ error时,你可以指定一些HTML来应用于消息,并且作为一个类,你可以在一个漂亮的对象中包含所有其他相关的错误函数。
答案 2 :(得分:0)
当然,这可能取决于你想要的方式。
您可能会遇到类似$error = "<span class='className'>Username/Password invalid</span>";
或者您可以先使用$error = "<span class='className'>"
创建错误变量,然后使用$error .= "</span>"