Создание красного цвета для текстового поля при возникновении ошибки в форме

Мне нужна ваша помощь ... Я пытаюсь сделать текстовое поле красным, когда есть ошибка в форме ...

Это то, что я могу сделать. Но когда я отправляю сообщение, я получаю неопределенный индексerror_css в виде

 if (isset($_POST['submit'])) { 
 if (empty($_POST['username'])) {
       $error_css='background-color:red';
 }

Form

<label for="username">Username:</label>
<input id="username" type="text" value="<?php if(isset($_POST['username'])){ echo $_POST['username']; } ?>" name="username" title='Username' />

Спасибо за ваше время...

 Roko C. Buljan16 мая 2012 г., 22:32
@Daedalus Исправлено сейчас :)
 Roko C. Buljan16 мая 2012 г., 22:34
Пользователь, я добавилid="username" только потому, что я вижу, что вы используете тот же ярлык, а вы его пропустили.FOR ссылка на элемент формыID
 Daedalus16 мая 2012 г., 22:28
Что происходит с огромным пространством между</ а такжеlabel>? Также, пожалуйста, напишитеall вашего кода.
 Daedalus16 мая 2012 г., 22:41
@ user1378680 Пожалуйста, оставьте остаток своего кода; предпочтительно та часть, которая фактически вызывает вашу переменную $ error_css.

Ответы на вопрос(5)

форма

<label for="username">Username:</label>
<input id="username" type="text" value="<?php echo @$_POST['username']; ?>"
   name="username" title='Username' style="<?php echo @$error_css; ?>"/>
 16 мая 2012 г., 22:39
@ Роко, ты шутишь?
 16 мая 2012 г., 22:35
;) был там, чтобы сократить код. Подход безнадежен, поэтому я подумал, что это тоже можно было бы вставить.
 16 мая 2012 г., 22:35
Я бы +1, если бы вы добавилиID ссылка на этикеткуfor
 16 мая 2012 г., 22:40
for используется в отношенииname неid
 16 мая 2012 г., 22:33
Я бы +1 это, если бы не подавление ошибок.

Вы никогда не устанавливаете стиль в теге html, и первые операторы if {if {}} являются избыточными. Так должно быть:

<label for="username">Username:</label>
    <input type="text" <?php 
        if(isset($_POST['username'])) { 
            echo 'value="'.$_POST['username'].'"'; 
        } else {
            echo 'style="background-color:red"';
        }
    ?> name="username" title='Username' >

Если вы можете, почему бы не посмотреть на решение, какплагин проверки jQuery? Это не полное решение, поскольку вам все еще нужна какая-то проверка на стороне сервера, но оно поможет вам в этом.

Ваша переменная$error_css пусто / не существует

Я думаю, что 2 случая в начале вашего сценария никогда не достигнут точки, в которой$error_css получает свое содержание.

Решение Вопроса

Попробуйте что-то вроде этого:

<?php

$username = "";
$error_css = "";

if (isset($_POST['submit'])) {
    if(isset($_POST['username']))
        $username = $_POST['username'];
    else
        $error_css='background-color:red';
}

?>

<label for="username">Username:</label>
<input id="username" type="text" value="<?php echo $username; ?>" name="username" title='Username' style="<?php echo $error_css; ?>"/>

Ваш ответ на вопрос