Gastenboek V1
Auteur: nathanael - 26 mei 2005 - 19:35 - Gekeurd door: Mokka - Hits: 7308 - 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. |
|