Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] sprawdzanie formularza
Forum PHP.pl > Forum > Przedszkole
Terrorizer
Mam problem ze sprawdzaniem poprawności formularza rejestracji...
Właściwie to filtruje mi większość pomyłek ale
Wystarczy ,że wpiszę w adres email coś w rodzaju abc@abc.pl i konto zapisuje się w bazie mimo braku wypełnienia reszty pól.
Czyżbym coś przeoczył?

  1. if (isset($_POST['register'])){
  2. if (!empty($_POST)){
  3. if (!empty($_POST['email'])
  4. && (!empty($_POST['pass']))
  5. && (!empty($_POST['passre']))) {
  6. } else echo("<span class='info'>Wypełnij wszystkie pola!<br /></span>");
  7.  
  8. $email = $_POST['email'];
  9. $password = $_POST['pass'];
  10. $nick = $_POST['nick'];
  11. if ((strlen($nick) < 4) || (strlen($nick) > 40)) echo "<span class='info'>Nick jest za długi lub za krótki<br /></span>";
  12. if ((strlen($email) < 8) || (strlen($email) > 40)) echo "<span class='info'>Email za krótki lub za długi!<br></span>";
  13. if ((strlen($password) < 6) || (strlen($password) > 40)) echo "<span class='info'>Hasło za długie lub za krótkie!<br></span>";
  14. if ($_POST['pass'] == $_POST['passre']) {
  15. if (filter_var($email, FILTER_VALIDATE_EMAIL)){
  16. $pass = md5(sha1($password));
  17.  
  18. $alreadyused = mysql_query("SELECT * FROM users WHERE email ='$email' ") or die (mysql_error());
  19. if (mysql_num_rows($alreadyused) > 0) {echo "<span class='info'>Email jest zajęty!</span>";}
  20. else {mysql_query('INSERT INTO users(email, pass) VALUES ("'.$_POST["email"].'" , "'.$_POST["pass"].'")') or die (mysql_error());
  21. header('location: index.php');}
  22. }
  23. else echo "<span class='info'>Email nie jest poprawny!<br /></span>";
  24. } else echo "<span class='info'>Hasła muszą być identyczne!<br /></span>";
  25. }}
Beniooo
  1. if (isset($_POST['register'])){
  2. if (!empty($_POST)){
  3. if (!empty($_POST['email'])
  4. && (!empty($_POST['pass']))
  5. && (!empty($_POST['passre']))) {
  6. } else{
  7. echo("<span class='info'>Wypełnij wszystkie pola!<br /></span>");
  8. die();
  9. }
  10.  
  11. $email = $_POST['email'];
  12. $password = $_POST['pass'];
  13. $nick = $_POST['nick'];
  14. if ((strlen($nick) < 4) || (strlen($nick) > 40)) echo "<span class='info'>Nick jest za długi lub za krótki<br /></span>";
  15. if ((strlen($email) < 8) || (strlen($email) > 40)) echo "<span class='info'>Email za krótki lub za długi!<br></span>";
  16. if ((strlen($password) < 6) || (strlen($password) > 40)) echo "<span class='info'>Hasło za długie lub za krótkie!<br></span>";
  17. if ($_POST['pass'] == $_POST['passre']) {
  18. if (filter_var($email, FILTER_VALIDATE_EMAIL)){
  19. $pass = md5(sha1($password));
  20.  
  21. $alreadyused = mysql_query("SELECT * FROM users WHERE email ='$email' ") or die (mysql_error());
  22. if (mysql_num_rows($alreadyused) > 0) {echo "<span class='info'>Email jest zajęty!</span>";}
  23. else {mysql_query('INSERT INTO users(email, pass) VALUES ("'.$_POST["email"].'" , "'.$_POST["pass"].'")') or die (mysql_error());
  24. header('location: index.php');}
  25. }
  26. else echo "<span class='info'>Email nie jest poprawny!<br /></span>";
  27. } else echo "<span class='info'>Hasła muszą być identyczne!<br /></span>";
  28. }}

Po prostu dałeś info o tym, że nie wszystkie pola wypełnione i nie zastopowałeś wykonywania kodu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.