Guest User

Untitled

a guest
Mar 22nd, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. <php
  2. try {
  3. $db = new PDO("mysql:host=$host; dbname=$db", $user, $pwd);
  4. $db->setAttribute(PDO:: ATTR_ERRMODE, PDO:: ERRMODE_EXCEPTION);
  5. $db-> exec("set names utf8");
  6. }
  7. catch(PDOException $e) {
  8. echo $e->getMessage();
  9. }
  10.  
  11. /**
  12. * REGISTRATION
  13. **/
  14. // Проверка данных пользователя при его регистрации на сайте
  15. $data = $_POST;
  16. if (isset($data['reg-submit'])) {
  17. $errors = array();
  18. if (trim($data['login']) == '' ) {
  19. $errors[] = 'Введите логин';
  20. }
  21. if (($data['email']) == '' ) {
  22. $errors[] = 'Введите e-mail';
  23. }
  24. if (($data['password']) == '' ) {
  25. $errors[] = 'Введите пароль';
  26. }
  27. }
  28.  
  29. // Если поля заполнены, в переменные записываем введенное
  30. $login = $data['login'];
  31. $email = $data['email'];
  32. $pass = password_hash($data['password'], PASSWORD_DEFAULT);
  33.  
  34. // Если нет ошибок (т.е. все поля заполнены корректно),
  35. // осуществляем проверку на то, чтобы юзер не зарегался 2 раза с тем же эмейлом
  36. if (empty($errors)) {
  37.  
  38. try {
  39. $query="SELECT login, email FROM users WHERE email = ' . $db->quote($email) . ' OR login = ' . $db->quote($login) . '";
  40. $query_res = $db->query($query);
  41. $count = count($query_res->fetchAll());
  42.  
  43. // Если найдены, значит логин/эмайл заняты, не регистрируенм, а выводим ошибку
  44. if ($count > 0) {
  45. exit("email или login занят!");
  46. } else {
  47. $sql = "INSERT INTO users (login, email, password)
  48. VALUES (" . $db->quote($login) . ", " . $db->quote($email) . ", " . $db->quote($pass) . ")";
  49. $db->exec($sql);
  50.  
  51. echo '<div class="okreged">Вы успешно зарегистрированы! <a href = "/test/index.php">Перейти на главную</a></div>';
  52. }
  53. }
  54. catch(PDOException $e) {
  55. echo $e->getMessage();
  56. }
  57.  
  58. } else {
  59. echo '<div class="notreged">'.array_shift($errors).'</div>';
  60. }
  61.  
  62. ?>
Add Comment
Please, Sign In to add comment