2012-01-30 4 views
0

Я хотел бы применить класс css (.error) к каждому эхо-экземпляру $error. Мне кажется, что это легко сделать, я просто не уверен в синтаксисе.Применение класса css для каждого экземпляра эхо-переменной php

<?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

Ваш код не содержит класс 'error' в любом месте. В какую конкретную проблему вы столкнулись? – hakre

ответ

3

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

$error = 'Not all fields were entered'; 

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

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

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

0

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

Вы могли бы что-то вроде этого $error = "<span class='className'>Username/Password invalid</span>";

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

2

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

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

class Error 
{ 
    ... 

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

$error = new Error; 

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

Смежные вопросы