bedingung für if funktion ändern

Also ich hab ein Gästebuch(phpMyGuestBook-1-2) und will HTML auch per PHP blocken gegen die Werbespamer.

Auf jdenfall hab ich den Code hier in der write.php gefunden.

PHP:
if((isset($HTTP_POST_VARS[$name]) == false || empty($daten) == true) && $zwang == true) {
            //doppeltpunkt am Ende? Weg damit!
            $title = remove_dps($title);
            
            //nicht gesetzt, muss aber
            php_error_msg($lang['error_title'], sprintf($lang['error_write_zwang'], $title), false, true);
            $abbrechen = true;

So jetzt möchte ich das der nicht nur bei empty error bringt sonern auch bei HTML oder meinetwegen bei dem zeichen "<".

Es sieht vieleicht so aus aber ich hab null ahnung von PHP, den komischen zeichen, parsen error oder irgendwas ich habs schon ewig nichmehr gemach und probiers immer nur mit "logischen Denken" und 10.000 mal probiern und ändern aber hier häng ich wirklich fest. Wäre toll wenn ihr mir helfen könntet, is bestimmt kein probelm.

Danke!
P.S.

Ich hab mal das geamacht aber da lässt er wieder alles durch
PHP:
if(((isset($HTTP_POST_VARS[$name]) == false || empty($daten) == true) && ($daten) == "<") && $zwang == true) {
            //doppeltpunkt am Ende? Weg damit!
            $title = remove_dps($title);
            
            //nicht gesetzt, muss aber
            php_error_msg($lang['error_title'], sprintf($lang['error_write_zwang'], $title), false, true);
            $abbrechen = true;
 
Mit javascript hab ich das so gemacht aber das nützt nicht weil die kein java aktiviert haben:

HTML:
if (document.frm.nachricht.value.search(/</g) != -1) {
    alert("Kein HTML(<) erlaubt!");
    document.frm.nachricht.focus();
    return false;
}
 
Ich will ja einträge mit html drin komplett blocken und der soll ja $daten nach html code durchsuchen und dann true oder false anzeigen denk ich mal. Wäre ja noch toller wenns das blöde Werber Spamer Sript noch richtig anzeigen würde, komm schon mit dem löschen nicht nach grrrrrrrr
 
Zuletzt bearbeitet:
Ich habs Jetzt mal so gemacht
PHP:
if((isset($HTTP_POST_VARS[$name]) == false || empty($daten) == true) && $zwang == true) {
            //doppeltpunkt am Ende? Weg damit!
            $title = remove_dps($title);
            
            //nicht gesetzt, muss aber
            php_error_msg($lang['error_title'], sprintf($lang['error_write_zwang'], $title), false, true);
            $abbrechen = true;
    break;
        }
        
if((isset($HTTP_POST_VARS[$name]) == false || in_array("<", $daten) == true) && $zwang == true) {
//doppeltpunkt am Ende? Weg damit!
$title = remove_dps($title);
//nicht gesetzt, muss aber
php_error_msg($lang['error_title'], sprintf($lang['error_write_zwang'], $title), false, true);
$abbrechen = true;
break;
}

da bringt er aber:
Warning: in_array(): Wrong datatype for second argument in /srv/www/htdocs/web73/html/GBuch/write.php on line 81
 
Du willst also auch nicht erlauben, dass Deine User Größer- und Kleiner-Zeichen in ihrem Text haben?

Du kannst mit [phpf]strpos[/phpf] arbeiten, allerdings solltest Du dennoch mit [phpf]htmlspecialchars[/phpf] bei der Ausgabe arbeiten, da es bestimmt noch weiteren Unsinn gibt, den man mit den HTML-Sonderzeichen anstellen kann.

Gruß hpvw
 
Ja! Wenns sein muss. Aber jetzt haberts noch an der umsetzungEs sollen ja nachrichten mit html erst garnicht an die datenbank geschickt werden ausedem verwenden die eh nicht die zeichen.
 
PHP:
if((isset($HTTP_POST_VARS[$name]) == false || empty($daten) == true) && $zwang == true && strpos($daten, '<') === TRUE) {
      //USW

Wie aber auch hpvw finde ich, das ein generelles Verbot nicht gut ist. Wenn es sowas hier geben würde, hättest du deine Frage nicht stellen können ;)

Mal ein Auszug aus der http://de.php.net/manual/de/function.htmlspecialchars.php

Diese Funktion ist nützlich, um vom Benutzer gelieferten Text frei von HTML-Code zu halten, wie z.B. in Forums- oder Gästebuch- Applikationen.

Gruss
 
Zuletzt bearbeitet:
@Mairhofer: Das Ergebnis von [phpf]strpos[/phpf] solltest Du immer typsicher mit === oder !== vergleichen.

Gruß hpvw
 

Neue Beiträge

Zurück