Gastenboek V1
Auteur: nathanael - 26 mei 2005 - 19:35 - Gekeurd door: Mokka - Hits: 7322 - Aantal punten: 1.50 (4 stemmen)
Dit is een gastenboek met oa:
- Wanneer er een entry is gedaan wordt er een mail verstuurd naar de admin
- Smileys
- Woordfilter
- Er worden cookies gezet om spam te vermeiden
ps. Het kan zijn dat je iets herkent van deze gastenboek, want ik heb de smileys.php van Tuinstoel
Code:
-- MYSQL tabel --
CREATE TABLE `gastenboek` (
`id` int(3) NOT NULL auto_increment,
`naam` varchar(30) NOT NULL default '',
`email` varchar(60) NOT NULL default '',
`website` varchar(100) default 'http://',
`datum` varchar(10) NOT NULL default '',
`tijd` varchar(10) NOT NULL default '',
`bericht` text NOT NULL,
`semail` char(3) NOT NULL default '',
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
CREATE TABLE `gastenboek` (
`id` int( 3 ) NOT NULL auto_increment,
`naam` varchar( 30 ) NOT NULL default '' ,
`email` varchar( 60 ) NOT NULL default '' ,
`website` varchar( 100 ) default 'http://' ,
`datum` varchar( 10 ) NOT NULL default '' ,
`tijd` varchar( 10 ) NOT NULL default '' ,
`bericht` text NOT NULL ,
`semail` char( 3 ) NOT NULL default '' ,
) TYPE= MyISAM AUTO_INCREMENT= 2 ;
-- gastenboek.php --
<?php
include("smileys.php");
mysql_connect("localhost", "user", "pass");
mysql_select_db("db_name");
$select = mysql_query("SELECT * FROM gastenboek ORDER BY id DESC");
$datum = date("d-m-Y");
$tijd = date("H:m:s");
$aantal = mysql_num_rows($select);
$bericht = "Er heeft iemand in het gastenboek geschreven. Klik <a href=\"http://www.stichtingiam.nl/index.php?page=gastenboek\" target=\"_blank\">hier</a>om het te bekijken";
$admin = "hier je email";
if($aantal == 0)
{
echo "<hr size=\"1\" noshade><center>Er zijn nog <b>geen</b> berichten achter gelaten</center><hr size=\"1\" noshade>";
}
elseif($aantal == 1)
{
echo "<hr size=\"1\" noshade><center>Er is <b>".$aantal."</b> bericht achter gelaten</center><hr size=\"1\" noshade>";
}
else
{
echo "<hr size=\"1\" noshade><center>Er zijn <b>".$aantal."</b> berichten achter gelaten</center><hr size=\"1\" noshade>";
}
echo "<BR>";
while($obj = mysql_fetch_object($select))
{
$kleur = ($i++ % 2) ? '#FFFFFF' : '#FAF9FF';
echo "<table width=\"100%\" style=\"border: 1px solid #CCCCCC;\" cellspacing=\"0\" cellpadding=\"2\">";
echo "<tr bgcolor=\"$kleur\"><td><b>$obj->naam</b> schreef op: <b>$obj->datum, $obj->tijd</b></td></tr>
<tr bgcolor=\"$kleur\"><td>";
echo WoordenFilter(ReplaceSmilies(nl2br($obj->bericht)));
echo "</td></tr>
<tr bgcolor=\"$kleur\"><td align=\"center\"><hr size=\"1\" noshade>";
if($obj->website == "http://" || empty($obj->website))
{
echo "";
} else {
echo "<a href=\"$obj->website\" target=\"_blank\">Website</a> ";
}
if($obj->semail == "Ja")
{
echo "<a href=\"mailto:$obj->email\">E-mail</a> ";
} else {
echo "";
}
echo "</td></tr></table><BR>";
}
if(IsSet($_POST['submit']))
{
if(!empty($_POST['naam']) || !empty($_POST['email']) || !empty($_POST['bericht']))
{
mysql_query("INSERT INTO `gastenboek` (`id`, `naam`, `email`, `website`, `datum`, `tijd`, `bericht`, `semail`) VALUES ('', '".htmlspecialchars(addslashes($_POST['naam']), ENT_QUOTES)."', '".htmlspecialchars(addslashes($_POST['email']), ENT_QUOTES)."', '".htmlspecialchars(addslashes($_POST['website']), ENT_QUOTES)."', $datum, $tijd, '".htmlspecialchars(addslashes($_POST['bericht']), ENT_QUOTES)."', '".htmlspecialchars(addslashes($_POST['semail']), ENT_QUOTES)."')");
echo "Uw gegevens zijn goed door ons ontvangen. <a href=\"index.php?page=gastenboek\">klik hier om terug te gaan</a>";
mail($admin, "Gastenboek", $bericht, "FROM: hier je email");
setcookie("gastenboek",1,Time()+3600*24*7); //cookie geset voor 7 dagen om spam te verkomen
}
else
{
echo "U heeft niet alles ingevuld ga <a href=\"javascript:history.back()\">terug</a><BR>
Of uw emailadres is ongeldig";
}
}
else
{
if(!$_COOKIE['gastenboek'] == 1)
{
?>
<form method="POST">
<table width="100%" cellspacing="0" cellpadding="0" border="0" >
<tr bgcolor="#F1F3FC"><td>Naam:</td><td><input type="text" name="naam" maxlength="25"></td></tr>
<tr bgcolor="#F1F3FC"><td>Email:</td><td><input type="text" name="email" maxlength="30"></td></tr>
<tr bgcolor="#F1F3FC"><td>Datum, Tijd:</td><td><?php echo "".$datum.", ".$tijd.""; ?></td></tr>
<tr bgcolor="#F1F3FC"><td>Website:</td><td><input type="text" name="website" value="http://" maxlength="60"> <font size=1 color=#FF0000><i>Niet verplicht</i></font></td></tr>
<tr bgcolor="#F1F3FC"><td>Bericht:</td><td><textarea name="bericht" cols="39" rows="10"></textarea></td></tr>
<tr bgcolor="#F1F3FC"><td>Wilt u uw email laten zien?</td><td><input type="radio" name="semail" value="Ja">Ja <input type="radio" name="semail" value="Nee">Nee</td></tr>
<tr bgcolor="#F1F3FC"><td colspan="2" align="center"><input type="submit" name="submit" value="Verstuur"> <input type="reset" value="Wis alle velden"></td></tr>
</table>
</form>
<?php
}
else
{
echo "<hr size=\"1\" noshade><center>U heeft al in ons gastenboek geschreven!</center><hr size=\"1\" noshade>";
}
}
?>
<?php
include ( "smileys.php" ) ;
$select = mysql_query ( "SELECT * FROM gastenboek ORDER BY id DESC" ) ; $bericht = "Er heeft iemand in het gastenboek geschreven. Klik <a href=\" http://www.stichtingiam.nl/index.php?page=gastenboek\" target=\" _blank\" >hier</a>om het te bekijken" ;
$admin = "hier je email" ;
if ( $aantal == 0 )
{
echo "<hr size=\" 1\" noshade><center>Er zijn nog <b>geen</b> berichten achter gelaten</center><hr size=\" 1\" noshade>" ; }
elseif ( $aantal == 1 )
{
echo "<hr size=\" 1\" noshade><center>Er is <b>" . $aantal . "</b> bericht achter gelaten</center><hr size=\" 1\" noshade>" ; }
else
{
echo "<hr size=\" 1\" noshade><center>Er zijn <b>" . $aantal . "</b> berichten achter gelaten</center><hr size=\" 1\" noshade>" ; }
{
$kleur = ( $i ++ % 2 ) ? '#FFFFFF' : '#FAF9FF' ;
echo "<table width=\" 100%\" style=\" border: 1px solid #CCCCCC;\" cellspacing=\" 0\" cellpadding=\" 2\" >" ; echo "<tr bgcolor=\" $kleur \" ><td><b>$obj->naam </b> schreef op: <b>$obj->datum , $obj->tijd </b></td></tr> <tr bgcolor=\" $kleur \" ><td>" ;
echo WoordenFilter
( ReplaceSmilies
( nl2br ( $obj -> bericht ) ) ) ; <tr bgcolor=\" $kleur \" ><td align=\" center\" ><hr size=\" 1\" noshade>" ;
if ( $obj -> website == "http://" || empty ( $obj -> website ) ) {
} else {
echo "<a href=\" $obj->website \" target=\" _blank\" >Website</a> " ; }
if ( $obj -> semail == "Ja" )
{
echo "<a href=\" mailto:$obj->email \" >E-mail</a> " ; } else {
}
echo "</td></tr></table><BR>" ; }
if ( IsSet ( $_POST [ 'submit' ] ) ) {
if ( ! empty ( $_POST [ 'naam' ] ) || ! empty ( $_POST [ 'email' ] ) || ! empty ( $_POST [ 'bericht' ] ) ) {
mysql_query ( "INSERT INTO `gastenboek` (`id`, `naam`, `email`, `website`, `datum`, `tijd`, `bericht`, `semail`) VALUES ('', '" . htmlspecialchars ( addslashes ( $_POST [ 'naam' ] ) , ENT_QUOTES
) . "', '" . htmlspecialchars ( addslashes ( $_POST [ 'email' ] ) , ENT_QUOTES
) . "', '" . htmlspecialchars ( addslashes ( $_POST [ 'website' ] ) , ENT_QUOTES
) . "', $datum , $tijd , '" . htmlspecialchars ( addslashes ( $_POST [ 'bericht' ] ) , ENT_QUOTES
) . "', '" . htmlspecialchars ( addslashes ( $_POST [ 'semail' ] ) , ENT_QUOTES
) . "')" ) ; echo "Uw gegevens zijn goed door ons ontvangen. <a href=\" index.php?page=gastenboek\" >klik hier om terug te gaan</a>" ; mail ( $admin , "Gastenboek" , $bericht , "FROM: hier je email" ) ;
setcookie ( "gastenboek" , 1 , Time ( ) + 3600 * 24 * 7 ) ; //cookie geset voor 7 dagen om spam te verkomen }
else
{
echo "U heeft niet alles ingevuld ga <a href=\" javascript:history.back()\" >terug</a><BR> Of uw emailadres is ongeldig" ;
}
}
else
{
if ( ! $_COOKIE [ 'gastenboek' ] == 1 )
{
?>
<form method="POST">
<table width="100%" cellspacing="0" cellpadding="0" border="0" >
<tr bgcolor="#F1F3FC"><td>Naam:</td><td><input type="text" name="naam" maxlength="25"></td></tr>
<tr bgcolor="#F1F3FC"><td>Email:</td><td><input type="text" name="email" maxlength="30"></td></tr>
<tr bgcolor="#F1F3FC"><td>Datum, Tijd:</td><td>
<?php echo "" . $datum . ", " . $tijd . "" ; ?> </td></tr>
<tr bgcolor="#F1F3FC"><td>Website:</td><td><input type="text" name="website" value="http://" maxlength="60"> <font size=1 color=#FF0000><i>Niet verplicht</i></font></td></tr>
<tr bgcolor="#F1F3FC"><td>Bericht:</td><td><textarea name="bericht" cols="39" rows="10"></textarea></td></tr>
<tr bgcolor="#F1F3FC"><td>Wilt u uw email laten zien?</td><td><input type="radio" name="semail" value="Ja">Ja <input type="radio" name="semail" value="Nee">Nee</td></tr>
<tr bgcolor="#F1F3FC"><td colspan="2" align="center"><input type="submit" name="submit" value="Verstuur"> <input type="reset" value="Wis alle velden"></td></tr>
</table>
</form>
<?php
}
else
{
echo "<hr size=\" 1\" noshade><center>U heeft al in ons gastenboek geschreven!</center><hr size=\" 1\" noshade>" ; }
}
?>
-- smileys.php --
<?php
function ReplaceSmilies($txt)
{ // starten v/d fucntie ReplaceSmilies, het vervangen van text door smilies.
$cDir = 'images';
// map waarin de smilies staan...
$cCodes = array(':d',':p',':)',';)',':-|','b)',':S');
// array met de smilie codes.
$cCodes2 = array(':D',':P',':-)',';-)',':|','B)',':s');
// 2e array met codes, dezelfde, maar in andere vorm.
$cSmilies = array('bigsmile.png','tong.png','smile.png','knipoog.png','verbaast.png','zonnebril.png','sad.png');
// De bestandsnamen ervan
// let erop dat je evenveel smilies hebt ingevoerd bij de bovenstaande 3 array's!
// Als dat niet het geval is wordt er nu het een en ander aan geknipt...
if(count($cCodes) != count($cCodes2))
{
// De aantal smilies in $cCodes en $cCodes2 zijn niet evenveel.
if(count($cCodes) > count($cCodes2))
{
$cAantal = count($cCodes2);
}
else
{
$cAantal = count($cCodes);
}
}
else
{
$cAantal = count($cCodes);
}
// nu dan het echte vervangen met een for-loop.
for($i=0;$i<$cAantal;$i++)
{
$txt = str_replace($cCodes[$i],'<img src="'.$cDir.'/'.$cSmilies[$i].'" border="0">',$txt);
// vervangen van de smilies uit de 1e array.
$txt = str_replace($cCodes2[$i],'<img src="'.$cDir.'/'.$cSmilies[$i].'" border="0">',$txt);
// vervangen van de smilies uit de 2e array.
}
return $txt;
}
function WoordenFilter($txt)
{
$cReplace = '***';
// het vervangde woord.
$cWoorden = array('kut', 'tering', 'kanker', 'homo', 'fuck', 'f*ck', 'lul', 'fucking');
// spreekt voor zich...
for($i=0;$i<count($cWoorden);$i++)
{
$txt = str_replace($cWoorden[$i],$cReplace,$txt);
// heel eenvoudig, hier worden de woorden mee vervangen.
}
return $txt;
}
?>
<?php
function ReplaceSmilies( $txt )
{ // starten v/d fucntie ReplaceSmilies, het vervangen van text door smilies.
$cDir = 'images' ;
// map waarin de smilies staan...
$cCodes = array ( ':d' , ':p' , ':)' , ';)' , ':-|' , 'b)' , ':S' ) ; // array met de smilie codes.
$cCodes2 = array ( ':D' , ':P' , ':-)' , ';-)' , ':|' , 'B)' , ':s' ) ; // 2e array met codes, dezelfde, maar in andere vorm.
$cSmilies = array ( 'bigsmile.png' , 'tong.png' , 'smile.png' , 'knipoog.png' , 'verbaast.png' , 'zonnebril.png' , 'sad.png' ) ; // De bestandsnamen ervan
// let erop dat je evenveel smilies hebt ingevoerd bij de bovenstaande 3 array's!
// Als dat niet het geval is wordt er nu het een en ander aan geknipt...
{
// De aantal smilies in $cCodes en $cCodes2 zijn niet evenveel.
{
$cAantal = count ( $cCodes2 ) ; }
else
{
$cAantal = count ( $cCodes ) ; }
}
else
{
$cAantal = count ( $cCodes ) ; }
// nu dan het echte vervangen met een for-loop.
for ( $i = 0 ; $i < $cAantal ; $i ++ )
{
$txt = str_replace ( $cCodes [ $i ] , '<img src="' . $cDir . '/' . $cSmilies [ $i ] . '" border="0">' , $txt ) ; // vervangen van de smilies uit de 1e array.
$txt = str_replace ( $cCodes2 [ $i ] , '<img src="' . $cDir . '/' . $cSmilies [ $i ] . '" border="0">' , $txt ) ; // vervangen van de smilies uit de 2e array.
}
return $txt ;
}
function WoordenFilter( $txt )
{
$cReplace = '***' ;
// het vervangde woord.
$cWoorden = array ( 'kut' , 'tering' , 'kanker' , 'homo' , 'fuck' , 'f*ck' , 'lul' , 'fucking' ) ; // spreekt voor zich...
for ( $i = 0 ; $i < count( $cWoorden ) ; $i ++ )
{
// heel eenvoudig, hier worden de woorden mee vervangen.
}
return $txt ;
}
?>
Download code (.txt)
Stemmen
Niet ingelogd.