Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja cenzura
Forum PHP.pl > Forum > Gotowe rozwiązania
yono
Witam! Podczas tworzenia pewnej witryny pomyślałem aby stworzyć fukncje przeznaczoną do tego aby sprawdzała czy dane z formularza nie zawierają wulgaryzmów. Poniżej zamieszczam kod funkcji (coś w nim nie działa):

  1. <?php
  2. function cenzura($imie_nazwisko, $nazwa_fli, $email, $tresc)
  3. {
  4.  // Przypisanie zmiennych z formularza do jednej zmiennej
  5.  $calosc= $imie_nazwisko . $nazwa_fli . $email . $tresc;
  6.  
  7.  // Utworzenie tablicy ze słowami, które mają być ocenzurowane
  8.  $slowa_zakazane = array(&#092;"kurw\", \"suka\", \"suko\", \"dziwk\", \"spierd\", \"wkurw\", \"pojeb\", \"wyjeb\");
  9.  
  10.  // Przypisanie do zmiennej liczby okeślającej ilość elementów w tablcy
  11.  $ilosc_elementow= sizeof($slowa_zakazane);
  12.  
  13.  // Utworzenie zmiennej przechowującej ilość zakazanych słów w zmiennej $calosc
  14.  $ilosc_zakazanych_slow= 0;
  15.  
  16.  // Utworzenie pętli for do przebiegu po kolejnych elementach tablicy
  17.  for($licznik=0; $licznik>$ilosc_elementow; $licznik++)
  18.  {
  19. // Sprawdzenie czy jstnieje ciąg w zmiennej $calosc taki jak w danym elemencie tal
  20. cy i jeżeli tak to powiększenie zmiennej $ilosc_zakazanych_slow o 1
  21. if(eregi($slowa_zakazane[$licznik], $calosc))
  22. {
  23. $ilosc_slow_zakazanych++;
  24. }
  25.  }
  26.  
  27.  // Sprawdzenie za pomocą instrukcji warunkowej if czy wartość zmiennej $ilosc_zaka
  28. anych_slow jest równa zero, jeżeli tak to funkcja zwraca true, w przeciwnym wypa
  29. ku funkcja zwraca false
  30.  if ($ilosc_zakazanych_slow== 0)
  31.  {
  32.  return true;
  33.  }
  34.  else
  35.  {
  36.  return false;
  37.  }
  38. }
  39. ?>


Późnej w skrypcie daję instrukcję if:
  1. <?php
  2. if(! cenzura($imie_nazwisko, $nazwa_fli, $email, $tresc))
  3. {
  4. echo &#092;"Twoje dane zawierają wulgaryzmy itp. Taka wypowiedź nie zostanie wysłana do
     
  5. azu danych\";
  6. exit;
  7. }
  8. ?>


Proszę pomóżcie smile.gif
baczek
powiedz jaki blad sie dokladnie wyswietla
BzikOS
Nie testowałem nawet tego co podałeś, bo jest koszmarnie napisane, na szybko skleciłem coś takiego:

  1. <?php
  2. function cenzura($imie_nazwisko, $nazwa_fli, $email, $tresc)
  3. {
  4. $calosc = $imie_nazwisko . ' ' . $nazwa_fli . ' ' . $email . ' ' . $tresc;
  5. $slowa_zakazane = array(&#092;"kurw\", \"suka\", \"suko\", \"dziwk\", \"spierd\", \"wkurw\", \"pojeb\", \"wyjeb\");
  6.  
  7. foreach($slowa_zakazane as $slowo)
  8. {
  9. if( stristr( $calosc, $slowo ) !== False )
  10. {
  11. Return false;
  12. }
  13. }
  14.  
  15. Return true;
  16. }
  17. ?>
yono
Dzięki BzikOS za pomoc. Nioe gniewaj sie odrazu:P dopiero zaczynam:)
BzikOS
No co Ty... po czym wywnioskowałeś, że się gniewam? winksmiley.jpg
spenalzo
Cytat
No co Ty... po czym wywnioskowałeś, że się gniewam? winksmiley.jpg

Po $slowa_zakazane tongue.gif
yono
to był zarcik:) 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-2025 Invision Power Services, Inc.