Antworten auf deine Fragen:
Neues Thema erstellen

Problem in meinem PHP Script

crusher9001

Nicht mehr ganz neu hier

Hallo liebe Community,
ich hoffe ihr könnt mir helfen. Mein Problem klingt ziemlich trivial, aber trotzdem finde ich keine Lösung :(

Zweck meines Scripts:
Ich möchte einen Spamwortfilter für meine Shoutbox etc. entwickeln. Dafür sind mehrere Funktionen vorgesehen.

Meine Funktion wortfilter_add($wortfilter) soll aus dem übergebenen String alle Wörter, die durch ein Simikolon getrennt sind in ein Array speichern und in meine Datenbank speichern. Dabei wird das Array mit der DB verglichen um nur die Wörter in die DB zu speichern, die noch nicht drinnen sind bzw. nicht mehr benötigte Wörter sollen entfernt werden.

Das Problem:
Wenn ich meine beiden Arrays vergleiche bekomme ich bei Index 0 den Wert true zurück (was richtig währe) aber bei Index 1 bekomme ich false zurück ( obwohl beide Array die selben Inhalte besitzen)

$array[0] = a;
$array[1] = b;

$werte[0] = a;
$werte[1] = b;


Ausgabe:

a a
true
b b
false


PHP:
function wortfilter_add($wortfilter)
{
     $array = explode(';', $wortfilter);
     $flag = false;
     $werte = array();

         $abfrage = mysql_query("SELECT * FROM wortfilter ORDER BY ID ASC");

         while($row = mysql_fetch_object($abfrage))
         {
             array_push($werte, $row->Wort);

         }

        echo $werte[0] . " " . $array[0] . "<br />";

         if($werte[0] == $array[0])
         {
                echo "true <br />";
         }
         else
         {
                echo "false<br />";
         }

         echo $werte[1] . " " . $array[1] . "<br />";

         if($werte[1] == $array[1])
         {
                echo "true <br />";
         }
         else
         {
                echo "false<br />";
         }
}


Ich hoffe Ihr könnt mir helfe. Ich bin mit meinem Latein am Ende und versteh einfach nicht warum laut meinem Script b == b false ergeben soll.

lg crusher


PS: Die DB verbindung steht und gibt im weiteren Script auch keine Probleme.
 

netbandit

Aktives Mitglied

AW: Problem in meinem PHP Script

Brauchst Du alles gar nicht. Achte beim Aufbau der DB dass die Spalte mit den "Spamwörtern" (Wort) auf "unique" steht.

Und füge alle neuen Spamwörter mit dem Befehl

INSERT IGNORE INTO tbl...

Sofern Wörter schon vorhanden sind werden diese nicht ein zweites-, drittes... Mal eingefügt
 
Zuletzt bearbeitet:

crusher9001

Nicht mehr ganz neu hier

AW: Problem in meinem PHP Script

supi thx für deine Hilfe, ich hab warscheinlich zu kompliziert gedacht.

Trotzdem versteh ich nicht warum meine If - Anweisung nicht funktioniert?

Aber naja so wie du es gesagt hat ist es einfacher :)
 

netbandit

Aktives Mitglied

AW: Problem in meinem PHP Script

Hast wahrscheinlich nach dem Semikolon noch ein Leerschritt oder so :uhm:

Die Funktion kann aber eigentlich nicht wirklich hilfreich sein, denn Dein String könnte ja auch z.B. so aussehen:

PHP:
$wortfilter='b;c;a;d';
Nach dem explode hätte 'a' den Index/Schlüssel '2' und würde sicherlich nicht mit den Daten aus der DB übereinstimmen
 

crusher9001

Nicht mehr ganz neu hier

AW: Problem in meinem PHP Script

ich hatte es alles noch in einer Schleife gepackt, damit jeder Index des Arrays mit allen Einträgen der DB verglichen wird. Hatte dann alles wieder gelöscht um den Fehler zufinden.

Aber du hast recht, da wird sich bestimmt irgend wo ein Leerzeichen eingeschliechen haben.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben