Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. <html>
  2. <head>
  3.  
  4. <meta charset="utf-8"/>
  5.  
  6. <title>Rejestracja</title>
  7.  
  8. <!-- Bootstrap Core CSS -->
  9. <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
  10.  
  11. <!-- Custom Fonts -->
  12. <link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
  13. <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
  14.  
  15. <!-- Custom CSS -->
  16. <link href="css/stylish-portfolio.css" rel="stylesheet">
  17.  
  18. </head>
  19.  
  20.  
  21. <!-- Header -->
  22. <header class="header" id="top">
  23. <div class="text-vertical-center">
  24. <h1>Zarejestruj się</h1>
  25. </div>
  26. </header>
  27.  
  28. <br>
  29. <br>
  30. <?php
  31. /*
  32. +----------------------------------------------------------------------+
  33. | Sobak User System 2 |
  34. +----------------------------------------------------------------------+
  35. | www.forumweb.pl/a/b/487677 |
  36. +----------------------------------------------------------------------+
  37. | Ten plik jest częścią skryptu Sobak User System 2 <sobak.pl> |
  38. | Integrowanie w treść tego komentarza stanowi naruszenie zasad, na |
  39. | których udostępniono kod. |
  40. +----------------------------------------------------------------------+
  41. */
  42.  
  43.  
  44. if ($_POST) {
  45. // Zabezpiecz dane z formularza przed kodem HTML i ewentualnymi atakami SQL Injection
  46. // Nie ma konieczności filtrowania haseł, bo one i tak zostaną zahashowane przed wstawieniem
  47. // do bazy danych
  48. $login = $db->real_escape_string(htmlspecialchars(trim($_POST['login'])));
  49. $password = $_POST['password'];
  50. $passwordVerify = $_POST['password_v'];
  51. $email = $db->real_escape_string(htmlspecialchars(trim($_POST['email'])));
  52. $emailVerify = $db->real_escape_string(htmlspecialchars(trim($_POST['email_v'])));
  53.  
  54. // Sprawdź czy podane przez użytkownika email lub login nie są zajęte
  55. $checkLogin = $db->query("SELECT COUNT(*) FROM users WHERE login = '$login'")->fetch_row();
  56. $checkEmail = $db->query("SELECT COUNT(*) FROM users WHERE email = '$email'")->fetch_row();
  57.  
  58. // Podstawowa walidacja formularza
  59. $errors = array();
  60.  
  61. if (empty($login) || empty($email) || empty($emailVerify) || empty($password) || empty($passwordVerify)) {
  62. $errors[] = 'Proszę wypełnić wszystkie pola';
  63. }
  64.  
  65. if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  66. $errors[] = 'Podany adres e-mail jest niepoprawny';
  67. }
  68.  
  69. if ($checkLogin[0] > 0) {
  70. $errors[] = 'Ten login jest już zajęty';
  71. }
  72. if ($checkEmail[0] > 0) {
  73. $errors[] = 'Ten e-mail jest już używany';
  74. }
  75.  
  76. if ($password != $passwordVerify) {
  77. $errors[] = 'Podane hasła się nie zgadzają';
  78. }
  79. if ($email != $emailVerify) {
  80. $errors[] = 'Podane adresy e-mail się nie zgadzają';
  81. }
  82.  
  83. // Jeśli wystąpiły jakieś błędy, to je pokaż
  84. if (!empty($errors)) {
  85. foreach ($errors as $error) {
  86. echo '<p class="error">'.$error.'</p>';
  87. }
  88. } else {
  89. // Blędów nie ma, możemy kontynuować rejestrację
  90.  
  91. $password = password_hash($password, PASSWORD_BCRYPT); // hashowanie hasła
  92.  
  93. // Zapisz dane do bazy
  94. $result = $db->query("INSERT INTO users (login, email, password) VALUES('$login', '$email', '$password')");
  95.  
  96. if (!$result) {
  97. echo '<p class="error">Wystąpił błąd przy rejestrowaniu użytkownika.<br>'.$db->error.'</p>';
  98. } else {
  99. echo '<p class="success">'.$login.', zostałeś zarejestrowany.
  100. <br><a href="login.php">Logowanie</a></p>';
  101. }
  102. }
  103. }
  104. ?>
  105. <br>
  106.  
  107. <div class="container text-center">
  108. <center><form method="post" action="register.php">
  109. <label for="login">Login:</label>
  110. <input maxlength="32" type="text" name="login" id="login" required>
  111. <br>
  112. <label for="password">Hasło:</label>
  113. <input type="password" name="password" id="password" required>
  114. <br>
  115. <label for="password_v">Hasło (ponownie):</label>
  116. <input type="password" name="password_v" id="password_v" required>
  117. <br>
  118. <label for="email">Email:</label>
  119. <input type="email" name="email" maxlength="255" id="email" required>
  120. <br>
  121. <label for="email_v">Email (ponownie):</label>
  122. <input type="email" name="email_v" maxlength="255" id="email_v" required><br>
  123. <br>
  124. <input type="submit" value="Zarejestruj">
  125. </form></center>
  126. </div>
  127.  
  128. <footer>
  129. <center><b>(C) 2017 Radosław Fijałkowski</b></center>
  130. </footer>
  131. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement