AbBa: strpos klappt nicht!

Ich wollte mal einen kleinen *Chat* in Php aufbauen,
Es klappt alles ganz gut, bis auf die bösen Wörter.
Deswegen hab ich mich in Google erkundigt, und hab die Funktion
strpos gefunden. Aber irgendwie will es nicht ganz hinhauen.
Hier mal mein Code:

-------
<?php
$Beleidig   = "Unterdrückt";
$pos = strpos($Chatmessage, $Beleidig);

if ($pos === true) {
 header('Location: Error.php?Us=".$Usr."');
 } else {
 $Beleidig1   = "Unterdrückt";
 $pos3 = strpos($Chatmessage, $Beleidig1);

if ($pos3 === true) {
  header('Location: Error.php?Us=".$Usr."');
  } else {
  $Beleidig2   = "Unterdrückt";
  $pos1 = strpos($Chatmessage, $Beleidig2);

if ($pos1 === true) {
   header('Location: Error.php?Us=".$Usr."');
   } else {
   $Beleidig3   = "Unterdrückt";
   $pos2 = strpos($Chatmessage, $Beleidig3);

if ($pos2 === true) {
    header('Location: Error.php?Us=".$Usr."');
    } else {
    $a1 = "Chat Inner.html";
    $a2 = fopen($a1, "a+");
    fwrite($a2, $Usr." schrieb: ".$Chatmessage."<br>");
    fclose ($a2);
    }
   }
  }
 }
?>
-------

An $Chatmessage oder $Usr liegts nicht...
Diese werden bei Chatouter.php in Form action bestimmt.
Denn es wird wirklich in die Chatbox was reingeschrieben,
leider halt auch die Beleidigungen.
P.S.: hab die beleidigungen als "Unterdrückt" angezeigt :D

  1. Moin!

    Ich wollte mal einen kleinen *Chat* in Php aufbauen,
    Es klappt alles ganz gut, bis auf die bösen Wörter.

    Wenn jemand im Chat böse Wörter verwendet, sollte der Admin ihn sperren und rauswerfen.

    Alle Versuche, maschinell was dagegen zu tun, enden nur damit, dass die User sich einen Spaß draus machen, die Sperren zu umgehen. Soviele Wörter kannst du gar nicht sperren, dass da nicht deutlich zuviel bei draufgeht.

    Nur mal angenommen, du würdest "sex" sperren wollen, und suchst nach diesem Bestandteil. Was ist mit "Staatsexamen"? "Sextant"? Und so weiter...

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Grüße,
      jo so h.arsch es klingen mag, der johny depp hat es schwer im chat - sc.hure.n sich die schafe drum ;)
      MFG
      bleicher

      --
      __________________________-
      Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
      Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
      Boccaccio
  2. Hello,

    Ich wollte mal einen kleinen *Chat* in Php aufbauen,
    Es klappt alles ganz gut, bis auf die bösen Wörter.
    Deswegen hab ich mich in Google erkundigt, und hab die Funktion
    strpos gefunden. Aber irgendwie will es nicht ganz hinhauen.
    Hier mal mein Code:


    <?php
    $Beleidig   = "Unterdrückt";
    $pos = strpos($Chatmessage, $Beleidig);

    if (($pos !== false) and ($pos  >= 0))   ## Wenn die Beleidigung enthalten ist,
      {
         header('Location: Error.php?Us=".$Usr."');  ## dann leite um
      }

    strpos() wird niemals === true werden.
    strpos() kann === false werden, wenn der gesuchte String nicht im Text enthalten ist
    strpos() ist 0, was gleichbedeutend mit false sein kann, wenn der gesuchte String
             am Anfang des Textes steht, eben auf Position 0
    strpos() ist größer 0, wenn der wenn der gesuchte String
             weiter hinten im Text steht

    0 ist aber nicht identisch false, warum man auf "!== false" abfragt.

    Nur wenn strpos() identisch false ist, ist der gesuchte String nicht im Text enthalten.

    Das steht aber auch alles im Handbuch

    http://de.php.net/manual/de/function.strpos.php

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)