Neo2400
Mitglied
Hi Leute, ich habe ein Problem. Sicherlich kam die Frage schon des öfteren, doch ich habe bei meiner Suche keine Lösung gefunden.
Ich möchte für ein Kontaktformular einen Wortfilter einbauen.
Absätze, unnötige HTML-Tags und Schimpfwörter sollen vor dem Absenden durch andere ersetzt werden.
Ich habe das ganze an die Stelle im Code eingebaut, bevor die Daten in die MYSQL Datenbank geschrieben werden (logisch...)
Da ich diesen Wortfilter noch mehrfach auf der Website verwenden will, habe ich eine extra Datei mit Funktionen erstellt. Diese enthält folgenden Code:
Funktionier soweit auch. Ich rufe die Funktion von der anderen Seite auf, und Übergebe die Variable $message.
Jetzt scheitere ich an der Umwandlung von Zeilenumbrüchen... Wenn ich in der Datenbank den Eintrag \n durch < br > ersetzen will, funktioniert es nicht.
Benutze ich stattdessen Variablen (im Code als kommentar), funktioniert es!
über die nl2br() funktion weis ich bescheid, damit funktioniert es auch. Aber wieso funktioniert es nicht durch meine Datenbank? Ferner möchte ich auch, das alle HTML Tags rausgefiltert werden aus der Nachricht. Gibts dafür vllt auch ne universelle Funktion?
Was ist falsch?
Ferner möchte ich die Funktion Variablen unabhängig machen. Wie realisiere ich das? Das ich die Funktion einfach nur aufrufe , z. B. funktion($variable1, $variable2); und das er diese Variable dann verarbeitet und auch wieder ausgibt.
Ich möchte für ein Kontaktformular einen Wortfilter einbauen.
Absätze, unnötige HTML-Tags und Schimpfwörter sollen vor dem Absenden durch andere ersetzt werden.
Ich habe das ganze an die Stelle im Code eingebaut, bevor die Daten in die MYSQL Datenbank geschrieben werden (logisch...)
Da ich diesen Wortfilter noch mehrfach auf der Website verwenden will, habe ich eine extra Datei mit Funktionen erstellt. Diese enthält folgenden Code:
Code:
<?php
function verifydata($message) {
include("server.php");
$db_link = mysql_connect($host,$user,$pw);
$db_sel = mysql_select_db($db)
or die("Verbindung fehlgeschlagen!");
$query1 = mysql_query("SELECT * FROM wordfilter ORDER BY id ASC");
#$zumbruch1 = "\n";
#$zumbruch2 = "<br>";
while ($row = mysql_fetch_array($query1)) {
$message = str_replace($row['word'],$row['newword'],$message);
# $message = str_replace($zumbruch1,$zumbruch2,$message);
}
return $message;
}
Funktionier soweit auch. Ich rufe die Funktion von der anderen Seite auf, und Übergebe die Variable $message.
Jetzt scheitere ich an der Umwandlung von Zeilenumbrüchen... Wenn ich in der Datenbank den Eintrag \n durch < br > ersetzen will, funktioniert es nicht.
Benutze ich stattdessen Variablen (im Code als kommentar), funktioniert es!
über die nl2br() funktion weis ich bescheid, damit funktioniert es auch. Aber wieso funktioniert es nicht durch meine Datenbank? Ferner möchte ich auch, das alle HTML Tags rausgefiltert werden aus der Nachricht. Gibts dafür vllt auch ne universelle Funktion?
Was ist falsch?
Ferner möchte ich die Funktion Variablen unabhängig machen. Wie realisiere ich das? Das ich die Funktion einfach nur aufrufe , z. B. funktion($variable1, $variable2); und das er diese Variable dann verarbeitet und auch wieder ausgibt.
Zuletzt bearbeitet: