Prüfen was in $showcfg[badwords] drinsteht, z.B. mit var_dump(), dann die Quelle suchen.
Seit kurzem bekomme ich im PHP-Gästebuch folgende Fehlermeldung:
Warning: explode() expects parameter 2 to be string, array given in /var/www/web115/html/gaestebuch/include/functions.inc.php on line 77
Warning: Invalid argument supplied for foreach() in /var/www/web115/html/gaestebuch/include/functions.inc.php on line 78
Der Code der davon betroffen ist ist folgender:
function badword($entrytext)
{
global $showcfg;
if($showcfg[badwords]!="")
{
$showcfg[badwords]=explode(",",$showcfg[badwords]); Zeile: 77
foreach($showcfg[badwords] as $value) Zeile: 78
{
$entrytext=str_replace($value,$showcfg[filterword],$entrytext);
}
}
return($entrytext);
Es geht um Badwords die anschließend durch das Wort Zensur ersetzt werden.
Was kann ich tun um diese Fehlermeldung zu unterbinden bzw. zu beseitigen?![]()
Harleylujar, Michael!!
Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...
www.mikel-mueller.de
www.sanitaertechnik-mueller.de
Prüfen was in $showcfg[badwords] drinsteht, z.B. mit var_dump(), dann die Quelle suchen.
Da stehen die vulgären Umschreibungen drin. Jedes Wort wird mit einem Komma getrennt.
Die Vulgären Wörter werden dann durch [Zensur] ersetzt.
Komischerweise lief all das bis vor 6-7 Wochen ohne Fehler. Am Code habe ich auch nichts verändert. Schätze mal es liegt an Versionsänderungen von PHP.
Harleylujar, Michael!!
Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...
www.mikel-mueller.de
www.sanitaertechnik-mueller.de
Hilft es vielleicht, wenn Du überall im Code
$showcfg[badwords]
durch
$showcfg["badwords"]
ersetzt?
Also die Anführungsstriche ergänzt.
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
Habs jetzt folgendermaßen gelöst:
function badword($entrytext)
{
global $showcfg;
if($showcfg[badwords]!="")
{
$showcfg[badwords2]=explode(",",$showcfg[badwords]);
foreach($showcfg[badwords2] as $value)
{
$entrytext=str_replace($value,$showcfg[filterword],$entrytext);
}
}
return($entrytext);
}
In Ausführungszeichen ging auch nicht. Danke für Eure Hilfe!!
Harleylujar, Michael!!
Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...
www.mikel-mueller.de
www.sanitaertechnik-mueller.de
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)