PHP: If Problem
-
Hi
Ich hätte gerne den folgenden "Spamfilter" in eine if-Abfrage gepackt. Aber jede if Abfrage braucht doch eine Bedingung, aber in dem Fall hab ich keine. Wie geht das?
//*******Spamfilter*************** $datei = fopen("spam.txt","r"); $spam = fgets($datei, 99999); fclose($datei); $spamwords = explode (" ", $spam); for ($i=0; $i <= count($spamwords); $i++) { if (strstr($kommentar, $spamwords[$i])) { print "ACHTUNG<br />"; } } //********Ende Spamfilter*********
Aussachen sollte es dann wie so:
if (Überprüfen ob Feld leer) else if (Spamfilter; Code von oben) else weiter
Kann mir da eventuell jemand weiterhelfen?
Danke
-
$error=false; $spam=file("spam.txt"); for($i=0;$i<count($spam);++$i) if(strstr($kommentar,$spam[i])!==false) $error=true; if($error) echo "ACHTUNG!<br>";
-
Hi,
Blurb schrieb:
if (Überprüfen ob Feld leer)
Ich denke ma du meinst ein Feld eines Formulars. Da musste einfach nur testen, ob die Variable leer ist. Also if($var == "")
Entweder du packst den Code in eine Funktion und überprüfst den Rückgabewert dieser in der If-Anweisung oder du führst den Code vor der If-Anweisung aus und überprüfst eine Variable. Den Code musste dann halt entsprechend anpassen.
mfg
Arskane[edit]
hm, zu langsamWindoof schrieb:
if(strstr(spam[i])!==false)
Das muss aba != heißen, da iss ein Gleichzeichen zu viel.
[/edit]
-
Hm... scheint nicht zu funktionieren.
Ich würde gerne überprüfen, ob ein Formularfeld leer ist, oder ob ein Wort aus der Datei spam.txt dabei ist.
Wenn eins davon der Fall ist, wird abgebrocken und der Eintrag nicht abgeschickt, wenn nicht, wird weitergemacht.Ich habe
//Überprüfen ob Name und Kommentar eingetragen if ( empty($nname) OR empty($kommentar)) { echo "<p>Name und Kommentar sind Pflichtfelder und müssen ausgefüllt werden</p>"; echo "<p><a href=\"java\1:history.back();\">Zurück</a></p>"; return; } else { //[...]Beitrag senden }
Jetzt würde ich unter die empty Überprüfung gerne eine weitere if Abfrage einfügen wo auf Spam überprüft wird.
Mein Spamfilter Code von oben funktioniert zwar, jedoch kann ich den nicht in eine weitere if Abfrage einfügen.
-
Arskane schrieb:
Windoof schrieb:
if(strstr(spam[i])!==false)
Das muss aba != heißen, da iss ein Gleichzeichen zu viel.
Ein Blick ins Manual schafft Gewissenheit
-
. schrieb:
Ein Blick ins Manual schafft Gewissenheit
Danke, man lernt doch nie aus