Advertisement
Guest User

Untitled

a guest
May 9th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.68 KB | None | 0 0
  1. <?php // adduser.php
  2.  
  3. // Rozpoczynamy od kodu PHP
  4.  
  5. $forename = $surname = $username = $password = $age = $email = "";
  6.  
  7. if (isset($_POST['forename']))
  8. $forename = fix_string($_POST['forename']);
  9. if (isset($_POST['surname']))
  10. $surname = fix_string($_POST['surname']);
  11. if (isset($_POST['username']))
  12. $username = fix_string($_POST['username']);
  13. if (isset($_POST['password']))
  14. $password = fix_string($_POST['password']);
  15. if (isset($_POST['age']))
  16. $age = fix_string($_POST['age']);
  17. if (isset($_POST['email']))
  18. $email = fix_string($_POST['email']);
  19.  
  20. $fail = validate_forename($forename);
  21. $fail .= validate_surname($surname);
  22. $fail .= validate_username($username);
  23. $fail .= validate_password($password);
  24. $fail .= validate_age($age);
  25. $fail .= validate_email($email);
  26.  
  27. echo "<!DOCTYPE html>\n<html><head><meta charset='utf-8'><title>Przykładowy formularz</title>";
  28.  
  29. if ($fail == "")
  30. {
  31. echo "</head><body>Dane formularza pomyœlnie zweryfikowane:
  32. $forename, $surname, $username, $password, $age, $email.</body></html>";
  33.  
  34. // W tym miejscu należałoby umieœcić kod odpowiadający za wprowadzenie pól do bazy,
  35. // przy czym hasło powinno być odpowiednio zahaszowane.
  36.  
  37. exit;
  38. }
  39.  
  40. echo <<<_END
  41.  
  42. <!-- Sekcja HTML/JavaScript -->
  43.  
  44. <style>
  45. .signup {
  46. border: 1px solid #999999;
  47. font: normal 14px helvetica; color:#444444;
  48. }
  49. </style>
  50.  
  51. <script>
  52. function validate(form)
  53. {
  54. fail = validateForename(form.forename.value)
  55. fail += validateSurname(form.surname.value)
  56. fail += validateUsername(form.username.value)
  57. fail += validatePassword(form.password.value)
  58. fail += validateAge(form.age.value)
  59. fail += validateEmail(form.email.value)
  60.  
  61. if (fail == "") return true
  62. else { alert(fail); return false }
  63. }
  64.  
  65. function validateForename(field)
  66. {
  67. return (field == "") ? "Nie wpisano imienia.\n" : ""
  68. }
  69.  
  70. function validateSurname(field)
  71. {
  72. return (field == "") ? "Nie wpisano nazwiska.\n" : ""
  73. }
  74.  
  75. function validateUsername(field)
  76. {
  77. if (field == "") return "Nie wpisano nazwy użytkownika.\n"
  78. else if (field.length < 5)
  79. return "Nazwa użytkownika musi się składać z co najmniej 5 znaków.\n"
  80. else if (/[^a-zA-Z0-9_-]/.test(field))
  81. return "Tylko znaki a-z, A-Z, 0-9, - oraz _ dopuszcza się w nazwie użytkownika.\n"
  82. return ""
  83. }
  84.  
  85. function validatePassword(field)
  86. {
  87. if (field == "") return "Nie wpisano hasła.\n"
  88. else if (field.length < 6)
  89. return "Hasło musi mieć co najmniej 6 znaków.\n"
  90. else if (! /[a-z]/.test(field) || ! /[A-Z]/.test(field) ||
  91. ! /[0-9]/.test(field))
  92. return "W haœle musi się znaleŸć co najmniej jeden znak z zakresów a-z, A-Z oraz 0-9.\n"
  93. return ""
  94. }
  95.  
  96. function validateAge(field)
  97. {
  98. if (isNaN(field)) return "Nie podano wieku.\\n"
  99. else if (field < 18 || field > 110)
  100. return "Wiek musi się zawierać między 18 a 110.\n"
  101. return ""
  102. }
  103.  
  104. function validateEmail(field)
  105. {
  106. if (field == "") return "Nie podano adresu e-mail.\n"
  107. else if (!((field.indexOf(".") > 0) &&
  108. (field.indexOf("@") > 0)) ||
  109. /[^a-zA-Z0-9.@_-]/.test(field))
  110. return "Podany adres e-mail jest nieprawidłowy.\n"
  111. return ""
  112. }
  113. </script>
  114. </head>
  115. <body>
  116.  
  117. <table border="0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee" class="signup">
  118. <th colspan="2" align="center">Formularz rejestracji</th>
  119.  
  120. <tr><td colspan="2">Przykro nam, w formularzu wykryto następujące błędy: <p><font color=red size=1><i>$fail</i></font></p>
  121. </td></tr>
  122.  
  123. <form method="post" action="adduser.php" onsubmit="return validate(this)">
  124. <tr><td>Imię</td>
  125. <td><input type="text" maxlength="32" name="forename" value="$forename"></td></tr>
  126. <tr><td>Nazwisko</td>
  127. <td><input type="text" maxlength="32" name="surname" value="$surname"></td></tr>
  128. <tr><td>Nazwa użytkownika</td>
  129. <td><input type="text" maxlength="16" name="username" value="$username"></td></tr>
  130. <tr><td>Hasło</td>
  131. <td><input type="text" maxlength="12" name="password" value="$password"></td></tr>
  132. <tr><td>Wiek</td>
  133. <td><input type="text" maxlength="3" name="age" value="$age"></td></tr>
  134. <tr><td>E-mail</td>
  135. <td><input type="text" maxlength="64" name="email" value="$email"></td></tr>
  136. <tr><td colspan="2" align="center"><input type="submit" value="Zarejestruj się"></td></tr>
  137. </form>
  138. </table>
  139. </body>
  140. </html>
  141.  
  142. _END;
  143.  
  144. // Funkcje PHP
  145.  
  146. function validate_forename($field)
  147. {
  148. return ($field == "") ? "Nie wprowadzono imienia<br>": "";
  149. }
  150.  
  151. function validate_surname($field)
  152. {
  153. return($field == "") ? "Nie wprowadzono nazwiska<br>" : "";
  154. }
  155.  
  156. function validate_username($field)
  157. {
  158. if ($field == "") return "Nie wprowadzono nazwy użytkownika<br>";
  159. else if (strlen($field) < 5)
  160. return "Nazwa użytkownika musi się składać z co najmniej 5 znaków<br>";
  161. else if (preg_match("/[^a-zA-Z0-9_-]/", $field))
  162. return "Tylko znaki a-z, A-Z, 0-9, - oraz _ dopuszcza się w nazwie użytkownika<br>";
  163. return "";
  164. }
  165.  
  166. function validate_password($field)
  167. {
  168. if ($field == "") return "Nie wpisano hasła<br>";
  169. else if (strlen($field) < 6)
  170. return "Hasło musi mieć co najmniej 6 znaków<br>";
  171. else if (!preg_match("/[a-z]/", $field) ||
  172. !preg_match("/[A-Z]/", $field) ||
  173. !preg_match("/[0-9]/", $field))
  174. return "W haœle musi się znaleŸć co najmniej jeden znak z zakresów a-z, A-Z oraz 0-9<br>";
  175. return "";
  176. }
  177.  
  178. function validate_age($field)
  179. {
  180. if ($field == "") return "Nie podano wieku<br>";
  181. else if ($field < 18 || $field > 110)
  182. return "Wiek musi się zawierać między 18 a 110<br>";
  183. return "";
  184. }
  185.  
  186. function validate_email($field)
  187. {
  188. if ($field == "") return "Nie podano adresu e-mail<br>";
  189. else if (!((strpos($field, ".") > 0) &&
  190. (strpos($field, "@") > 0)) ||
  191. preg_match("/[^a-zA-Z0-9.@_-]/", $field))
  192. return "Podany adres e-mail jest nieprawidłowy<br>";
  193. return "";
  194. }
  195.  
  196. function fix_string($string)
  197. {
  198. if (get_magic_quotes_gpc()) $string = stripslashes($string);
  199. return htmlentities ($string);
  200. }
  201. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement