login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ubb scheldwoorden...

Offline Damage - 04/11/2005 10:15 (laatste wijziging 04/11/2005 11:07)
Avatar van DamagePHP interesse Hallo, ik heb een heel systeem en ik wou een scheldwoorden filter maken. Zodat je ook bij admin steeds nieuwe woorden kan toevoegen enz. werkt allemaal dat toevoegen aan tabelen enz. maar hij doet het alleen als ik maar 1 heb toegevoegt.... zodra ik er een 2 inzet dan laat die gewoon alle scheldwoorden zien.

Hier is mij code:
  1. <?
  2. function swearing($text) {
  3. $querySwearing = @mysql_query("SELECT * FROM swearing");
  4.  
  5. if (@mysql_num_rows($querySwearing) == 1) {
  6. while ($getSwearing = @mysql_fetch_object($querySwearing)) {
  7.  
  8.  
  9. $text = str_replace($getSwearing->words, $getSwearing->replaces, $text);
  10. }
  11. }
  12. return $text;
  13. }
  14. ?>


Alvast bedankt... (sorry voor onduidelijkheid)

7 antwoorden

Gesponsorde links
Offline Mr_Dark - 04/11/2005 10:51
Avatar van Mr_Dark Lid Probeer dit is:

  1. $text .= str_replace($getSwearing->words,"$getSwearing->replaces",$text);
Offline Damage - 04/11/2005 10:58
Avatar van Damage PHP interesse werkt nog niet...
Offline Mr_Dark - 04/11/2005 11:04
Avatar van Mr_Dark Lid Waarom heb je eigenlijk $getSwearing->replaces tussen "" staan?
Offline Damage - 04/11/2005 11:07
Avatar van Damage PHP interesse heb het weg gehaald..
Offline Rens - 04/11/2005 11:07 (laatste wijziging 04/11/2005 11:09)
Avatar van Rens Gouden medaille

Crew algemeen
Probeer het volgende eens, comments staan erbij:
  1. <?PHP
  2. function swearing($text)
  3. {
  4. // word sql uitgevoerd?
  5. if(!$querySwearing = mysql_query("SELECT * FROM swearing"))
  6. {
  7. // nee, error weergeven
  8. echo "Error!- ".MySQL_Error()."<br/ >";
  9. } else
  10. {
  11. // ja
  12. // kijken of er schelwoorden zijn
  13. if(mysql_num_rows($querySwearing) == 1)
  14. {
  15. // ja
  16. // while loop om erdoor heen te lopen
  17. while($getSwearing = mysql_fetch_assoc($querySwearing))
  18. {
  19. // woorden + replaces in een array zetten
  20. $aWoorden[] = $getSwearing['words'];
  21. $aReplace[] = $getSwearing['replaces'];
  22. }
  23. // kijken of er net zoveel woorden als replaces zijn
  24. if(count($aWoorden) != count($aReplace))
  25. {
  26. // nee, een die error weergeven
  27. die("Error!- Er zijn meer scheldwoorden dan replaces!");
  28. } else
  29. {
  30. // ja
  31. // for loopje om erdoor heen te lopen + vervangen
  32. for($i = 0; $i < count($aWoorden); $i++)
  33. {
  34. $text = str_replace($aWoorden[$i], $aReplace[$i], $text);
  35. }
  36. }
  37. }
  38. }
  39. return $text;
  40. }
  41. ?>


edit; Gebruik ook nooit @, @ is smerig^^
Kun je beter de volgende manier gebruiken:
  1. <?PHP
  2. if(!functie)
  3. {
  4. // plaats een error
  5. } else
  6. {
  7. // ga door met je script
  8. }
  9. ?>
Offline Damage - 04/11/2005 11:15 (laatste wijziging 04/11/2005 11:22)
Avatar van Damage PHP interesse gebeurde niks... :/


Damn

heb de oplossing:


  1. <?
  2. function swearing($text)
  3. {
  4. $querySwearing = mysql_query("SELECT * FROM swearing");
  5.  
  6. if (mysql_num_rows($querySwearing) > 0)
  7. {
  8. while ($getSwearing = mysql_fetch_array($querySwearing))
  9. {
  10.  
  11. $text = str_replace($getSwearing['words'] ,$getSwearing['replaces'],$text);
  12. }
  13.  
  14. }
  15. return $text;
  16.  
  17. }
  18. ?>
Offline Rens - 04/11/2005 11:58
Avatar van Rens Gouden medaille

Crew algemeen
Ojah, natuurlijk:|

  1. if (mysql_num_rows($querySwearing) == 1)

Werkt alleen als er maar 1 scheldwoord is.
Niet gezien:'(
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.228s