Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z walidacją
Forum PHP.pl > Forum > Przedszkole
iksior
Oto mój skrypt i nawet mimo że w formularzu w polu imie wpisuje "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" to i tak dodaje mi do bazy co robie nie tak ? i jak to poprawić ? Prosze o odpowiedź pozdrawiam Iksior.

  1. <?php
  2. include("zmienne.php");
  3.  
  4. //imie nie może być krótsze niż i liczba znaków
  5. if(strlen($imie) <2 and strlen($imie) >20 ){
  6. die ("Imie musi być dłuższe niż 2 znaki i któtrze niż 20 znaków.");
  7. }
  8. //Długość nazwiska
  9. if(strlen($nazwisko) < 2 and strlen($nazwisko) >30 ){
  10. die ("Nazwisko musi być dłuższe niż 2 znaki i któtrze niż 30 znaków.");
  11. }
  12.  
  13. //Sprawdza czy wiek jest liczbą
  14. if(!is_numeric($wiek) ){
  15. die ("Wiek musi być liczbą.");
  16. }
  17.  
  18.  
  19.  
  20. //Sprawdzamy poprawność emaila ;) //
  21. if(!preg_match('|^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$|e', $email)){
  22. die ("Wpisz poprawny adres email.");
  23. }
  24.  
  25.  
  26. $con;
  27.  
  28. $sql="INSERT INTO Pracownicy (imie, nazwisko, wiek, email, telefon, miasto)
  29. VALUES
  30. ('$imie','$nazwisko','$wiek','$email','$telefon','$miasto')";
  31.  
  32. if (!mysql_query($sql,$con))
  33. {
  34. die('Błąd: ' . mysql_error());
  35. }
  36. echo "Dodano do bazy";
  37.  
  38.  
  39. ?>


@down and 2x down
Wielkie dzięki i oczywiście daje "pomógł"
nospor
if(strlen($imie) <2 and strlen($imie) >20 ){
czy naprawde myslisz ze jakiś tekst moze miec zarówno mniej niz 2 znaki oraz wiecej niz 20? podaj mi proszę tekst, który naraz spelnia oba warunki winksmiley.jpg
Kszyhuu
  1. if(strlen($imie) <2 and strlen($imie) >20 ){

  1. if(strlen($nazwisko) < 2 and strlen($nazwisko) >30 ){

Masz złe warunki tutaj. Die wyskoczy tylko wtedy, kiedy oba wymagania będą spełnione, a więc imię i nazwisko będą miały jednocześnie mniej niż 2 a więcej niż 30 znaków, co jest fizycznie niewykonalne. Zamień and na or czy tam ||. smile.gif

Edit: Nospor mnie wyprzedził tongue.gif
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.