【问题标题】:applying a css class to every instance of an echoed php variable将 css 类应用于回显 php 变量的每个实例
【发布时间】:2012-01-30 13:29:18
【问题描述】:

我想对$error 的每个回显实例应用一个 css 类 (.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 />";
            }

【问题讨论】:

  • 您的代码在任何地方都不包含error 类。您遇到了哪个具体问题?

标签: php css variable-assignment


【解决方案1】:

首先 - 不要将整个 HTML 放入$error。在我看来,这是一个坏习惯。放在那里只是一个错误信息:

$error = 'Not all fields were entered';

然后在 HTML 中打印错误信息:

if ( $error ) {
    echo '<span class="error">' . $error . '</span><br/>';
}

如您所见 - 如果您在变量中传递 HTML,那么您做任何事情的机会就会减少。

【讨论】:

    【解决方案2】:

    为了提出一些稍微不同的建议,我喜欢将我的错误作为一个类来实现。

    现在因为它是一个类,我可以使用 __toString() 魔术方法。

    class Error
    {
        ...
    
        public function __toString()
        {
            ...
            $output = '<span class="error">' . $output . '</span>';
            return $output;
        }
    }
    
    $error = new Error;
    

    现在,当您回显 $error 时,您可以指定一些 HTML 以应用于消息周围,并且作为一个类,您可以将所有其他相关的错误函数一起包含在一个不错的对象中。

    【讨论】:

      【解决方案3】:

      当然可以,这取决于你想怎么做。

      你可以有这样的$error = "&lt;span class='className'&gt;Username/Password invalid&lt;/span&gt;";

      或者你可以先用$error = "&lt;span class='className'&gt;"创建错误变量,然后用$error .= "&lt;/span&gt;"结束它

      【讨论】:

        猜你喜欢
        • 2012-11-19
        • 2018-07-16
        • 1970-01-01
        • 2017-08-12
        • 2020-07-27
        • 2015-06-09
        • 1970-01-01
        • 1970-01-01
        • 2013-11-26
        相关资源
        最近更新 更多