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

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

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

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

форма

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

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

Solutions Collecting From Web of "Создание текстового поля красного цвета при возникновении ошибки в форме"

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

 <?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; ?>"/> 

вы никогда не устанавливаете стиль в теге html и первом, если операторы {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 ? Это не полное решение, так как вам по-прежнему нужна какая-то проверка на стороне сервера, но он поможет вам.

форма

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

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

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