将css类应用于echoed php变量的每个实例

时间:2012-01-30 13:29:19

标签: php css variable-assignment

我想将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 />";
            }

3 个答案:

答案 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>"

结束