Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Walidacja formularza
Kas
post
Post #1





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Wiem, że temat przewija się regularnie na forum. Jednak przygotowuję ważną aplikację, a dokładna walidacja formularzy to dosłownie sprawa życia i śmierci. Akurat piszę moduł logowania:

  1. $login = strip_tags($_POST['login']);
  2.  
  3. $unwanted = array("'", "/", "(", ")", "[", "]", ";", ",", "?");
  4. $login = str_replace($unwated, "", $login);
  5. if(ctype_alnum($login)
  6. {
  7. if(is_string($login)
  8. {
  9. //logowanie
  10. }
  11. }


Czy jest jeszcze jakaś funkcja o której zapomniałem? Czy można jakoś poprawić powyższy kod? Z góry dzięki. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kas
post
Post #2





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Do tego służy funkcja ctype_alnum, która jest szybsza. Obecnie mam taki kod:

  1. $login = '';
  2. $password = '';
  3.  
  4. if(!empty($_POST))
  5. {
  6. if(is_string($_POST['login']) && is_string($_POST['login']))
  7. {
  8. if(ctype_alnum($_POST['login']) && ctype_alnum($_POST['login']))
  9. {
  10. $login = strip_tags($_POST['login']);
  11. $password = strip_tags($_POST['password']);
  12. //logowanie
  13. }
  14. }
  15. }


Zastanawiam się czy jest sens sprawdzać długość zmiennej, wtedy mógłbym zrobić jednak tak:

  1. $login = '';
  2. $password = '';
  3.  
  4. if(!empty($_POST))
  5. {
  6. if(is_string($_POST['login']) && is_string($_POST['login']))
  7. {
  8. if(preg_match('/^[a-z0-9]{6,10}$/', $_POST['login']) && preg_match('/^[a-z0-9]{6,10}$/', $_POST['password'])))
  9. {
  10. $login = strip_tags($_POST['login']);
  11. $password = strip_tags($_POST['password']);
  12. //logowanie
  13. }
  14. }
  15. }


Jakieś uwagi?

Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 26.09.2025 - 01:38