Badwords-Filter erzeugt Fehler-Meldung

sheeba1507

Erfahrenes Mitglied
Hallo zusammen,

ich hatte mir ein Script für einen Badwords-Filter geladen und wollte es
heute im Gästebuch eintragen.

Leider erhalte ich immer folgende Meldung
function BadwordFilter($kommentar) { $Badwords = array("ipsum", "amet");
foreach($Badwords as $Badword) { $kommentar = str_replace($Badword,
str_repeat("*", strlen($Badword)), $kommentar); } return $kommentar; }

Fatal error: Call to undefined function BadwordFilter() in
C:\Programme\xampp\htdocs\Schwarting\gbuch_input_w rite.php on line 13

Das Script ist so aufgebaut
PHP:
function BadwordFilter($kommentar) 
{ 
    $Badwords = array("", "", "scheiss", "Scheiss", "Hittler", "Votze", "Hure", 
    "fick", "<html>"); 
    foreach($Badwords as $Badword) 
    { 
        $kommentar = str_replace($Badword, str_repeat("*", strlen($Badword)), $kommentar); 
    } 
    return $kommentar; 
}

und liegt als "badwords.inc.php" im selben Ordner.

Aufgerufen wird die Funktion hier
PHP:
<?php 
include ("badwords.inc.php"); 
$timestamp = time(); 
$datum = date("d.m.Y",$timestamp); 
$uhrzeit = date("H:i",$timestamp); 
$name = $_POST["name"]; 
$name_str = strip_tags($name); 
$mail = $_POST["mail"]; 
$mail_str = strip_tags($mail); 
$komm = $_POST["komm"]; 
$kommentar = strip_tags($komm, '<br />'); 
$kommentar = BadwordFilter($kommentar); 
$komm_date = "$datum - $uhrzeit Uhr"; 
include ("db_connect.inc.php"); 
$sqleintrag = "INSERT INTO ms_gbuch (name, mail, komm, komm_date)  
              VALUES ('$name_str', '$mail_str', '$kommentar', '$komm_date')"; 
mysql_query($sqleintrag); 
include ("data_close.inc.php"); 
header("Location: gbuch.php"); 
?> 
<form action="gbuch.php" type="submit" /></form>

Da ich mit "function" noch kaum Erfahrung habe, verstehe ich den ganzen
Aufbau des Scripts nicht, sonst könnte ich selbst durch rumprobieren
irgendwie auf eine Lösung kommen.

Besser wäre aber, irgend jemand hier sieht schon auf einem Blick,
wo der Fehler liegt.
Schon jetzt vielen Dank für die Hilfe.

Gruß, Mike
 
Das Problem hat sich erledigt.

PHP:
<?php
header("Location: gbuch.php");        <------------ Position korrigiert
include ("badwords.inc.php");
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
$name = $_POST["name"];
$name_str = strip_tags($name);
$mail = $_POST["mail"];
$mail_str = strip_tags($mail);
$komm = $_POST["komm"];
$kommentar = strip_tags($komm, '<br />');
$kommentar = BadwordFilter($kommentar);
$komm_date = "$datum - $uhrzeit Uhr";
include ("db_connect.inc.php");
$sqleintrag = "INSERT INTO ms_gbuch (name, mail, komm, komm_date) 
              VALUES ('$name_str', '$mail_str', '$kommentar', '$komm_date')";
if($name != "" && $mail != "")
  {
  mysql_query($sqleintrag);
  }
include ("data_close.inc.php");
?>
<form action="gbuch.php" type="submit" /></form>

Viel Dank für eure Hilfe.

Gruß, Mike
 
Zurück