midgard
13.10.2005, 11:00:34
Hallo,
möchte gern eine Badword-Funktion in mein Gaestebuchform. einbauen.
Habe aber keinen Plan wie ich das am besten realisiere.
Mein Ansatz ist die mit Sternen versehenen Wörter schon mit dem "submit" an das Script zu senden, das den Eintrag in die DB vornimmt,
also dort die Funktion aufzurufen (noch keine Ahnung wie).
Ist das überhaupt möglich, es schon beim absenden zu filtern, indem ich die Eingabe an eine Variable übergebe, auswerte und filter?
Oder ist es besser den Eintrag erst in der eintrag-einfuegen.php auszuwerten und dann mit Sternen zu versehen?
Kann ich bei dieser Version mit dem name='Eintrag' arbeiten, oder ist es notwendig eine neue Variable zu benutzen?
eintrag.php
require_once "func.inc.php";
echo "<form action='eintrag-einfuegen.php' method='post'>";
echo "<input class='gb' name='Name' maxlength='30' type='text'
value='Name' onFocus=\"this.style.backgroundColor='#663300'\"
onBlur=\"this.style.backgroundColor='#808080'\">";
echo "<input class='gb' name='Titel' maxlength='50' type='text'
value='Thema' onFocus=\"this.style.backgroundColor='#663300'\"
onBlur=\"this.style.backgroundColor='#808080'\">";
echo "<textarea class='gb' cols='100' name='Eintrag' rows='3'
wrap='hard' onFocus=\"this.style.backgroundColor='#663300'\"
onBlur=\"this.style.backgroundColor='#808080'\">Euer Eintrag im Gästebuch</textarea><br>";
echo "<input class='button butt' type='submit' name='senden' tabindex='9'
value='Senden' onMouseover=\"this.style.backgroundColor='#663300'\"
onMouseout=\"this.style.backgroundColor='#808080'\">";
echo "<input class='button butt' type='reset' name='zurücksetzen'
value='Löschen' onMouseover=\"this.style.backgroundColor='#663300'\"
onMouseout=\"this.style.backgroundColor='#808080'\">";
echo "</form>";
Wie die Funktion hier einbauen ??
eintrag-einfuegen.php
$DatabasePointer=mysql_connect("localhost", "***", "***");
mysql_select_db("***", $DatabasePointer);
$SQL = "INSERT INTO gaestebuch (Datum, Name, Titel, Eintrag)
VALUES (NOW(''), '".$_REQUEST['Name']."', '".$_REQUEST['Titel']."', '".$_REQUEST['Eintrag']."')";
mysql_query($SQL, $DatabasePointer);
if(mysql_affected_rows($DatabasePointer)==1)
{
echo"<div id='danke'>";
echo"Vielen Dank für Deinen Eintrag im Gästebuch.";
echo"<a href='guestbook.php'>Zurück zum Gästebuch</a>";
echo"</div>";
}
func.inc.php
function BadwordFilter($Nachricht)
{
$Badwords = array("bush", "sau", 'arsch', 'ficken');
foreach($Badwords as $Badword)
{
$Nachricht = str_replace($Badword, str_repeat("*", strlen($Badword)), $Nachricht);
}
return $Nachricht;
}
Vielen Dank an alle Helfer !!!
möchte gern eine Badword-Funktion in mein Gaestebuchform. einbauen.
Habe aber keinen Plan wie ich das am besten realisiere.
Mein Ansatz ist die mit Sternen versehenen Wörter schon mit dem "submit" an das Script zu senden, das den Eintrag in die DB vornimmt,
also dort die Funktion aufzurufen (noch keine Ahnung wie).
Ist das überhaupt möglich, es schon beim absenden zu filtern, indem ich die Eingabe an eine Variable übergebe, auswerte und filter?
Oder ist es besser den Eintrag erst in der eintrag-einfuegen.php auszuwerten und dann mit Sternen zu versehen?
Kann ich bei dieser Version mit dem name='Eintrag' arbeiten, oder ist es notwendig eine neue Variable zu benutzen?
eintrag.php
require_once "func.inc.php";
echo "<form action='eintrag-einfuegen.php' method='post'>";
echo "<input class='gb' name='Name' maxlength='30' type='text'
value='Name' onFocus=\"this.style.backgroundColor='#663300'\"
onBlur=\"this.style.backgroundColor='#808080'\">";
echo "<input class='gb' name='Titel' maxlength='50' type='text'
value='Thema' onFocus=\"this.style.backgroundColor='#663300'\"
onBlur=\"this.style.backgroundColor='#808080'\">";
echo "<textarea class='gb' cols='100' name='Eintrag' rows='3'
wrap='hard' onFocus=\"this.style.backgroundColor='#663300'\"
onBlur=\"this.style.backgroundColor='#808080'\">Euer Eintrag im Gästebuch</textarea><br>";
echo "<input class='button butt' type='submit' name='senden' tabindex='9'
value='Senden' onMouseover=\"this.style.backgroundColor='#663300'\"
onMouseout=\"this.style.backgroundColor='#808080'\">";
echo "<input class='button butt' type='reset' name='zurücksetzen'
value='Löschen' onMouseover=\"this.style.backgroundColor='#663300'\"
onMouseout=\"this.style.backgroundColor='#808080'\">";
echo "</form>";
Wie die Funktion hier einbauen ??
eintrag-einfuegen.php
$DatabasePointer=mysql_connect("localhost", "***", "***");
mysql_select_db("***", $DatabasePointer);
$SQL = "INSERT INTO gaestebuch (Datum, Name, Titel, Eintrag)
VALUES (NOW(''), '".$_REQUEST['Name']."', '".$_REQUEST['Titel']."', '".$_REQUEST['Eintrag']."')";
mysql_query($SQL, $DatabasePointer);
if(mysql_affected_rows($DatabasePointer)==1)
{
echo"<div id='danke'>";
echo"Vielen Dank für Deinen Eintrag im Gästebuch.";
echo"<a href='guestbook.php'>Zurück zum Gästebuch</a>";
echo"</div>";
}
func.inc.php
function BadwordFilter($Nachricht)
{
$Badwords = array("bush", "sau", 'arsch', 'ficken');
foreach($Badwords as $Badword)
{
$Nachricht = str_replace($Badword, str_repeat("*", strlen($Badword)), $Nachricht);
}
return $Nachricht;
}
Vielen Dank an alle Helfer !!!