Дали задание. Заметны ли косяки? как можно иначе реализовать подсветку невалидных данных? я так понимаю когда форма отправилась и пришла таблица, при обновлении страницы должна приходить изначальная форма, а она не приходит. как сделать полный сброс при обновлении? Задание по PHP 2 Реализовать скрипт, реализующий ввод и проверку (валидацию) следующих данных: 1) Фамилия, имя — текстовое поле — только русские буквы, пробелы — обязательное поле 2) Возраст — строго целое положительное число 3) Адрес электронной почты (строго по шаблону bbbb...bb@bb...bb.bb, где b-латинские буквы) - обязательное поле 4) Пол — выбор из списка Мужской, Женский 5) «Я курю» - чекбокс (галочка) При допущенных ошибках система должна сообщать, какие ошибки допустил пользователь, и предлагать их исправить, показывая ту же форму с введенными данными. Необходимо подсвечивать поля с ошибками красной рамочкой. В случае удачного ввода выводить в браузер введенные данные в виде таблицы и кнопку "Ввести" файл validate.php Код (PHP): <html> <style> .red{ border-color: #ffa5ad; } p{ color:red; } </style> <body> <?php if(isset($_POST['submit'])) { $name = $_POST['name']; $age = $_POST['age']; $mail = $_POST['mail']; $gender = $_POST['gender']; $smoking = (empty($_POST['smoking']))?"нет":"да"; $is_valid = true; if (!preg_match('/[А-я]+\s[А-я]+$/msix', $name)) { $is_valid = false; $name_red = "red"; echo '<p>Поле "фамилия,имя" должно содержать русские буквы и пробел</p>'; } if ($age<=0 && !empty($age)){ $is_valid = false; $age_red="red"; echo '<p>Поле возраст должно содержать положительное число</p>'; } if(!preg_match('/^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$/', $mail)){ $is_valid = false; $mail_red="red"; echo '<p>Электронная почта введена неверно</p>'; } } ?> <? if(!$is_valid){?> <form method="post" action="validation.php"> <label>Фамилия, имя <input type="text" name="name" id="name" value="<?=$name?>" class="<?=$name_red?>"> </label> <br> <label>Возраст <input type="text" name="age" id="age" value="<?=$age?>" class="<?=$age_red?>"> </label> <br> <label>Адрес электронной почты <input type="text" name="mail" id="mail" value="<?=$mail?>" class="<?=$mail_red?>"> </label> <br> <label>Пол <select name="gender" id="gender" value="<?=$gender?>"> <option>Мужской</option> <option>Женский</option> </select> </label> <br> <label>Я курю <input type="checkbox" name="smoking" id="smoking" <?=(empty($_POST['smoking']))?"":"checked"?>> </label> <br> <input type="submit" value="оправить" id="submit" name="submit"> </form> <? } ?> <?if($is_valid){?> <table border="1"> <tr> <td>Фамилия, имя</td> <td><?= $name ?></td> </tr> <tr> <td>Возраст</td> <td><?= $age ?></td> </tr> <tr> <td>Адрес электронной почты</td> <td><?= $mail ?></td> </tr> <tr> <td>Пол</td> <td><?= $gender ?></td> </tr> <tr> <td>Я курю</td> <td><?= $smoking ?></td> </tr> </table> <br> <input type="submit" value="ввести"> <? } ?> </body> </html>
так ведь задание полностью выполнено. хотел узнать лишь не слишком ли криво и пару вопросов. если нет желания отвечать, то я не обижусь. если кто-нибудь поможет, то спасибо.
Кстати так стало интересно, когда при устройстве на работу дают задание, его на дом дают? или надо на месте делать. Меня вот что интересует, если на месте, можно ли пользоваться при выполнении интернетом и т.д.
php-junior. конкретных цифр не называли, мне каж в районе 10к. я с пхп знаком 1 неделю. да каша, но все таки хотелось бы услышать что-нибудь конкретное. демотивации сейчас мне вряд ли помогут.
хех, а я то думал, что php-junior это примерно год нормальной практики, потом уже если мозг позволяет, то middle, а сеньор это когда тебя окружающие мидлы так обзовут )
Даже не знаю, подучиться, например. Объясню доходчивей - ты даже с тестзаданием не можешь справиться пока. Как-то так...
ну если бы мне не нужна была сейчас работа, то, может быть, я бы и не стремился сейчас на нее устроиться. все-таки, если код плох, то я бы хотел услышать, что нужно в нем исправить, а не то, что код плох.