reg.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. if(!empty($_POST['reg'])){
  3. if(preg_match('/^[a-zA-Z0-9]{6,}$/',$_POST['login'])){
  4. $sql = 'SELECT login FROM `users` WHERE
  5. login = :login';
  6. $sth = $dbh->prepare($sql, [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY]);
  7. $sth->execute([
  8. "login" => $_POST['login']
  9. ]);
  10. $red = $sth->fetch();
  11. if($red){
  12. $error = "Логин уже занят!";
  13. }
  14. else{
  15. if(preg_match('/^.{8,}$/', $_POST['password_hash'])){
  16. $sql = 'INSERT INTO `users`(`fullname`, `birthdate`,
  17. `phone`, `email`, `login`,
  18. `password_hash`) VALUES (:fullname,
  19. :birthdate, :phone, :email, :login, :password_hash)';
  20. $sth = $dbh->prepare($sql, [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY]);
  21. $sth->execute([
  22. "fullname"=>$_POST['fullname'],
  23. "birthdate"=>$_POST['birthdate'],
  24. "phone"=>$_POST['phone'],
  25. "email"=>$_POST['email'],
  26. "login"=>$_POST['login'],
  27. "password_hash"=> password_hash($_POST['password_hash'], PASSWORD_DEFAULT)
  28. ]);
  29. header('Location: login.php');
  30. }
  31. else{
  32. $error = "Пароль должен содержать не меньше восьми символов";
  33. }
  34. }
  35. }
  36. else{
  37. $error = "Логин должен содержать латинские буквы и цифры длиной минимум шесть символов";
  38. }
  39. }
  40. ?>