Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Dane z formularza
Kao
post 16.06.2009, 21:11:35
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 19.10.2004
Skąd: Zgorzelec

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


Witam

Tworzę mały formularz na stronie, problem w tym tzw. CZYSZCZENIU, tzn. jak wprowadzi się dane nie poprawne, to formularz nie kasuje wszystkich pól z wprowadzonymi danymi, tylko informuje w którym są nie poprawne dane. I nie chcę aby przedostały się jakieś śmieci :<

Stworzyłem kilka funkcji, oczywiście wszędzie kodowanie UTF-8:

Funkcja do OCZYSZCZANIA DANYCH i wyświetlania ponownie na stronce:
  1. <?php
  2. function display_val($val) {
  3.  return htmlentities(trim($val),ENT_QUOTES,'UTF-8');
  4. }
  5. ?>


sprawdzenie co w tekście siedzi niedozwolonego:

  1. <?php
  2. if (check_submit()) {
  3.  
  4.    mb_regex_encoding('UTF-8');
  5.    $post_name = display_val($_POST['name']);
  6.    $post_eml = display_val($_POST['eml']);
  7.    $post_temat = display_val($_POST['temat']);
  8.    $post_tresc = display_val($_POST['tresc']);
  9.    
  10.    // imię - dozwolone litery, cyfry, spacje, od 2 do 50 znaków
  11.    // UWAGA: spację między znakami a 0 przy wklejaniu kodu należy usunąć
  12.    $post_name_t = (mb_eregi("^[wd 040]{2,50}$", $post_name)) ? TRUE : FALSE;
  13.    
  14.    // czy email prawidłowy
  15.    $post_eml_t = filter_var($post_eml, FILTER_VALIDATE_EMAIL) ? TRUE : FALSE;
  16.    
  17.    // temat i treść - dozwolone troszkę więcej ale za to coś się pierdzieli jak za dużo spacji
  18.     // UWAGA: spację między znakami a 0 oraz a ? przy wklejaniu kodu należy usunąć
  19.    $post_temat_t = (mb_eregi("^[wd-_., 040 ?!:+]{1,150}$", $post_temat)) ? TRUE : FALSE;
  20.    $post_tresc_t = (mb_eregi("^[wd-_., 040 ?!:+\nr\t]{1,1000}$", $post_tresc)) ? TRUE : FALSE;
  21.    
  22.    // sprawdzamy czy dane poprawne jak tak to wysyłamy formularz jak nie wyświetlamy komunikat i dane w polach!
  23.    if ($post_name_t && $post_eml_t && $post_tresc_t && check_captcha()) {
  24. ?>


I teraz czy:
1. dane wyświetlone ponownie przez funkcję display_val($val) są bezpiecznie wyświetlane na stronie?
2. czy sprawdzanie poprawności imienia, tematu i treści jest odpowiednie? Wiadomo, że nie chcę aby koś używał wszystkich znaków, a tylko nie które!

Ps.
Jeśli coś namieszałem przy tworzeniu reguł parsujący, sorry, czasami się gubię jak za bardzo złożone jest!

Z góry dziękuję za odpowiedź
Pozdr.
KaO
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:12