Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Walidacja danych z formularza, Gotowe skrypty
gizmo1985
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


Hej winksmiley.jpg
Szukałem, ale nie znalazłem, czy są może jakieś gotowe skrypty w PHP, które można łatwo zaprzęgnąć do swojej strony, a które pomagają w walidacji formularzy ? smile.gif
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Zazwyczaj takie skrypty to biblioteki lub helpery w konkretnych frameworkach. Przykładem jest choćby Formo w KohanaPHP. Może zerknij sobie w jego kod i podpatrując napisz coś własnego.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
gizmo1985
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


Generalnie nie zależy mi na jakiejś wielkiej walidacji...potrzebuję tylko na poziomie podstawowym zabezpieczyć formularz "pokazowo", do zaliczenia winksmiley.jpg A nie wiem, czy pisanie wszystkiego na piechotę jest profesjonalne tongue.gif
Go to the top of the page
+Quote Post
bolverk
post
Post #4





Grupa: Zarejestrowani
Postów: 57
Pomógł: 6
Dołączył: 10.08.2009
Skąd: Nowe Miasto Lubawskie

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


Pokazowe zabezpieczenie walidacji czy tylko na gotowca nie jest podejściem profesjonalnym. Tak jak inni Ci radzą napisz coś samemu, a będziesz wiedzieć jak to działa i po testach będziesz wiedzieć gdzie robisz błędy.


--------------------
Użytkownicy jak życie, wszystkim mogą cię zaskoczyć.
Go to the top of the page
+Quote Post
gizmo1985
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


No ok. Login sobie potrafię sprawdzić...t.zn. czy pola nie są puste, czy login się nie powtarza...ale jak sprawdzić poprawność daty urodzenia ? maila ? Bo tego już nie pojmuję winksmiley.jpg tongue.gif
Go to the top of the page
+Quote Post
bolverk
post
Post #6





Grupa: Zarejestrowani
Postów: 57
Pomógł: 6
Dołączył: 10.08.2009
Skąd: Nowe Miasto Lubawskie

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


Dla dat i maili da się zastosować wyrażenia regularne. zapoznaj się z nimi oraz z funkcją preg_match.


--------------------
Użytkownicy jak życie, wszystkim mogą cię zaskoczyć.
Go to the top of the page
+Quote Post
thek
post
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeśli już chcesz czegoś użyć to polecam przeczytanie artykułów o bezpieczeństwie kilku i używanie choćby filter_var, ctype, mysql_real_escape_string czy wielu innych wbudowanych funkcji zależnie od potrzeb. a tych jest naprawdę wiele. Tylko trzeba chcieć coś przeczytać, bo gotowe skrypty dostępne w necie nieraz są pisane przez amatorów i zawierają błędy. Tylko korzystanie ze sprawdzonych rozwiązań daje Ci w miarę jakąś pewność, że ciężko już coś zepsuć.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
gizmo1985
post
Post #8





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


No ok winksmiley.jpg zagłębiam się w temat i w funkcje podane wyżej winksmiley.jpg, ale jak zrobić np, żeby to maila rozróżniało ? smile.gif

  1. <?php
  2. $subject = "abcdef";
  3. $pattern = '/^def/';
  4. preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
  5. print_r($matches);
  6. ?>



Juz mam smile.gif

  1. $wzorzec = '/[a-zA-Z0-9.\-_]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}/';
  2. preg_match_all($wzorzec, $tekst, $wyniki);


Jak zrobić z tego:

  1. <?php
  2.  
  3. $subject = "abcdef";
  4.  
  5. $wzorzec = '/[a-zA-Z0-9.\-_]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}/';
  6.  
  7. $wynik = preg_match($wzorzec);
  8.  
  9. ?>

żeby po sprawdzeniu pola formularza wyświetlał komunikat o poprawności pola ?

Ten post edytował gizmo1985 24.03.2010, 14:25:24
Go to the top of the page
+Quote Post
thek
post
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




filter_var jest pewniejsze. Jest tam też gotowiec do walidacji maili oraz adresów www smile.gif Poczytaj a sam zobaczysz jakie to proste zwalidować oba.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
gizmo1985
post
Post #10





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


Albo to jest takie proste, albo źle zrozumiałem biggrin.gif

  1. <?php
  2. if(!filter_var("someone@example....com", FILTER_VALIDATE_EMAIL))
  3. {
  4. echo("E-mail is not valid");
  5. }
  6. else
  7. {
  8. echo("E-mail is valid");
  9. }
  10. ?>


czyli zamiast
  1. "someone@example....com"


mogę użyć ?

  1. $_POST['emai']



Chyba jednak nie zrozumiałem biggrin.gif

Ten post edytował gizmo1985 24.03.2010, 15:52:14
Go to the top of the page
+Quote Post
Sky_walker
post
Post #11





Grupa: Zarejestrowani
Postów: 214
Pomógł: 23
Dołączył: 26.09.2005

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


tak


--------------------
Pomogłem? Kliknij poniżej.
Dzięki! :D
Go to the top of the page
+Quote Post
thek
post
Post #12





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Możesz użyć tego post w filter_var jaki podałeś i sam sprawdź winksmiley.jpg Nie będzie za Ciebie nikt sprawdzał tak elementarnych rzeczy...


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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 - 14:27