применение класса CSS к каждому экземпляру эхо-переменной PHP - PullRequest
0 голосов
/ 30 января 2012

Я хотел бы применить класс 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 ]

3 голосов
/ 30 января 2012

Прежде всего - не вставляйте в $error целый HTML.Это плохой привычка, на мой взгляд.Поместите туда только информацию об ошибке:

$error = 'Not all fields were entered';

А затем в HTML во время печати информацию об ошибке:

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

Как вы можете видеть - если вы передаете HTML в переменных, у вас меньше возможностейделать все, что вы хотите.

2 голосов
/ 30 января 2012

Чтобы предложить что-то немного другое, я хотел бы реализовать свои ошибки как класс.

Теперь, когда это класс, я могу использовать магический метод __toString().

class Error
{
    ...

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

$error = new Error;

Теперь, когда вы выводите $ error, вы можете указать некоторый HTML-код, который будет применен к сообщению, и в качестве его класса вы можете объединить все остальные связанные с вами функции ошибок вместе в симпатичном объекте.

0 голосов
/ 30 января 2012

Конечно, это возможно в зависимости от того, как вы хотите это сделать.

У вас может быть что-то вроде этого $error = "<span class='className'>Username/Password invalid</span>";

или вы можете сначала создать переменную ошибки с помощью $error = "<span class='className'>"и завершите его $error .= "</span>"

...