Как сделать проверку ввода данных в форму регистрации?

249
24 декабря 2017, 10:07

Требуется написать скрипт на PHP, проверяющий поля формы непосредственно во время ввода. Необходимые условия:

  1. все поля не пустые;
  2. E-mail корректный
  3. лишняя точка в конце
  4. слишком длинная фамилия (больше 18)
  5. слишком короткая фамилия
  6. пароли (или что то) не совпадают
  7. валидация имени фамилии (не те символы (%, &, цифры)).

1 и 2 условия выполнены, 6 частично, т.к. проверка происходит после отправки данных.

<?php require_once("includes/connection.php"); ?>
<?php include("includes/header.php"); ?>
<div class="container mregister">
<div id="login">
 <h1>Регистрация</h1>
<form id="registerform" method="post" name="registerform">
 <p><label for="user_login">Фамилия<br>
 <input class="input" id="full_name" required name="full_name" size="32"  type="text" value=""></label></p>
<p><label for="user_pass">E-mail<br>
<input class="input" id="email" required name="email" size="32" type="email" value=""></label></p>
<p><label for="user_pass">Имя пользователя<br>
<input class="input" id="username" required name="username" size="20" type="text" value=""></label></p>
<p><label for="user_pass">Пароль<br>
<input class="input" id="password" required name="password" size="32"   type="password" value=""></label></p>
<p><label for="user_pass">Повторите пароль<br>
<input class="input" id="password" required name="password2" size="32"   type="password" value=""></label></p>
<p class="submit"><input class="button" id="register" type="submit" value="Зарегистрироваться"></p>
    <p class="regtext">Уже зарегистрированы? <a href= "login.php">Введите имя пользователя</a>!</p>
 </form>
</div>
</div>
<?php include("includes/footer.php"); ?>
 </footer>
</body>
</html>
<?php
if(isset($_POST['full_name'])){
$full_name = trim($_POST['full_name']);
echo strlen($full_name);
$email = trim($_POST['email']);
$username = trim($_POST['username']);
$password = $_POST['password'];
$password2 = $_POST['password2'];
if($password==$password2){
if(isset($full_name) && strlen($full_name)>0){
$string_query = "INSERT INTO `usertbl`(full_name,email,username,password) values ('".$full_name."','".$email."','".$username."',MD5('".$password."'))";
$result = mysqli_query( $con, $string_query );
if($result){$message="Запись успешно добавлена!";}
else{$message="Запись не добавлена";}
}
mysqli_close( $con );
}else {$message="Пароли не совпадают!";
}}
  ?>
  <?php if (!empty($message)) {echo "<p class=\"error\">" . "MESSAGE: ". $message . "</p>";} ?>
READ ALSO
вывести кастомные данные в цикле блога Wordpress

вывести кастомные данные в цикле блога Wordpress

Здравствуйте, есть цикл который выводит записи блога из определенной рубрики, мне нужно передать в отдельный див отдельную строкуТо есть...

242
Как найти медленные тесты PHPUnit?

Как найти медленные тесты PHPUnit?

Тесты выполняются очень долгоНапример, есть итог работы PHPUnit:

151
Опять GDI, опять утечка

Опять GDI, опять утечка

Вот, код, в ходе которого происходит утечки памятиЭто происходит, когда изменяю размер окна

212