Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z walidacją
iksior
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 30.01.2010

Ostrzeżenie: (0%)
-----


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ł"

Ten post edytował iksior 26.02.2010, 22:01:44
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Kszyhuu
post
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


  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

Ten post edytował Kszyhuu 26.02.2010, 21:20:33
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 05:52