Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabezpieczenia w formularzach..
Forum PHP.pl > Forum > Gotowe rozwiązania
m4tt_pl
Witam napisalem (a raczej pisze:)) swoj pierwszy skrypt.. newsy. Skrypt z wysylaniem juz mam, teraz ten co zapisuje i tu sie pojawia problem.

  1. <?
  2. //////////////////////////  FUNKCJE FORMULARZU
  3. $nick = $_POST[&#092;"nick\"]; // Okresla nicka
  4. $news = $_POST[&#092;"news\"]; // Okresla tresc newsa
  5. $date = $_POST[&#092;"date\"]; // Okresla date
  6. //////////////////////////
  7.  
  8. //////////////////////// FUNKCJA SPRAWDZAJACA POPRAWNOSC
  9. if (($news == '') && ($nick == ''))
  10. {
  11. die(&#092;"Nie podano zadnych danych.. wroc i podaj odpowiednie dane!\");
  12. }
  13. elseif ($nick == '') 
  14. {
  15. die(&#092;"Wroc i podaj nick.. nie zapisano danych!\");
  16. }
  17. elseif ($news == '')
  18. {
  19. die(&#092;"Wroc i podaj tresc newsa.. nie zapisano danych!\");
  20. }
  21. else
  22. {
  23. ////////////////////////
  24.  
  25. //////////////////////// FUNKCJE ODCZYTU/ZAPISU PLIKU
  26. //wczytanie starych danych
  27. //otwarcie pliku do odczytu
  28. $fp = fopen(&#092;"news.dll\", \"r\");
  29. //odczytanie danych
  30. $stareDane = fread($fp, filesize(&#092;"news.dll\"));
  31. // zamknięcie pliku
  32. fclose($fp);
  33. // stworzenie nowych danych
  34. $noweDane = &#092;"$nick|$news|$datern\";
  35. $noweDane .= $stareDane;
  36. // zapisanie nowych danych
  37. // otwarcie pliku do zapisu
  38. $fp = fopen(&#092;"news.dll\", \"w\");
  39. // zapisanie danych
  40. fputs($fp, $noweDane);
  41. // zamknięcie pliku
  42. fclose($fp);
  43. ///////////////////////
  44.  
  45. ///////////////////////  TEKST PO WYPELNIENIU FORMULARZA
  46. print &#092;"<h1><center>Dane zapisane. Milego Dnia (huh:P).</center></h1>\";
  47. ///////////////////////
  48. }
  49. ?>


Myslalem ze
  1. <?php
  2.  
  3. if (($news == '') && ($nick == ''))
  4. {
  5. die(&#092;"Nie podano zadnych danych.. wroc i podaj odpowiednie dane!\");
  6. }
  7.  
  8. ?>


To dobre zabezpieczenie przeciw pustemu wpisowi , ale widze ze nie .. user wstawi spacje i juz sie zapisuje. Czy mozna jakos temu zaradzic ? Czy koniecznie musze zrobic array i po koleji '',' ',' ' itd ?sad.gif Prosze o podpowiedz!
Ive
trim" title="Zobacz w manualu PHP" target="_manual [usuwa spacje], preg_match" title="Zobacz w manualu PHP" target="_manual [bardziej rozbudowana walidacja pola przy odpowiednim wyrażeniu], ereg" title="Zobacz w manualu PHP" target="_manual [jak dobrze skonstruujesz wyrazenie tez dobrze waliduje pole ;]]
m4tt_pl
A moglbys skonstruowac mi kod? Bo jestem zdeczka cienki w tych bardzo dziwnych funkcjach..
  1. <?php
  2.  
  3. preg_match(&#092;"/[^./]+.[^./]+$/\", $host, $matches);
  4.  
  5. ?>

"/[^\.\/]+\.[^\.\/]+$/", <- nawet nie potrafie zajarzyc o co w tym chodzi
crash
Jeśli jesteś początkujący to zrezygnuj z wyrażeń regularnych, użyj trim" title="Zobacz w manualu PHP" target="_manual i ewentualnie htmlspecialchars" title="Zobacz w manualu PHP" target="_manual...
tiraeth
  1. <?php
  2. if (trim($news) == &#092;"\" && trim($nick) == \"\")
  3. {
  4. die(&#092;"Nie podano zadnych danych.. wroc i podaj odpowiednie dane!\");
  5. }
  6. ?>

Jak na Twoje umiejętności związane z php, ten skrypt Ci wystarczy smile.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-2024 Invision Power Services, Inc.