login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Gastenboeken > Gastenboek V1

Gastenboek V1

Auteur: nathanael - 26 mei 2005 - 19:35 - Gekeurd door: Mokka - Hits: 7176 - 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 --
  1. CREATE TABLE `gastenboek` (
  2. `id` int(3) NOT NULL auto_increment,
  3. `naam` varchar(30) NOT NULL default '',
  4. `email` varchar(60) NOT NULL default '',
  5. `website` varchar(100) default 'http://',
  6. `datum` varchar(10) NOT NULL default '',
  7. `tijd` varchar(10) NOT NULL default '',
  8. `bericht` text NOT NULL,
  9. `semail` char(3) NOT NULL default '',
  10. UNIQUE KEY `id` (`id`)
  11. ) TYPE=MyISAM AUTO_INCREMENT=2 ;


-- gastenboek.php --
  1. <?php
  2. include("smileys.php");
  3.  
  4. mysql_connect("localhost", "user", "pass");
  5. mysql_select_db("db_name");
  6.  
  7. $select = mysql_query("SELECT * FROM gastenboek ORDER BY id DESC");
  8. $datum = date("d-m-Y");
  9. $tijd = date("H:m:s");
  10. $aantal = mysql_num_rows($select);
  11. $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";
  12.  
  13. $admin = "hier je email";
  14.  
  15. if($aantal == 0)
  16. {
  17. echo "<hr size=\"1\" noshade><center>Er zijn nog <b>geen</b> berichten achter gelaten</center><hr size=\"1\" noshade>";
  18. }
  19. elseif($aantal == 1)
  20. {
  21. echo "<hr size=\"1\" noshade><center>Er is <b>".$aantal."</b> bericht achter gelaten</center><hr size=\"1\" noshade>";
  22. }
  23. else
  24. {
  25. echo "<hr size=\"1\" noshade><center>Er zijn <b>".$aantal."</b> berichten achter gelaten</center><hr size=\"1\" noshade>";
  26. }
  27. echo "<BR>";
  28.  
  29. while($obj = mysql_fetch_object($select))
  30. {
  31. $kleur = ($i++ % 2) ? '#FFFFFF' : '#FAF9FF';
  32.  
  33. echo "<table width=\"100%\" style=\"border: 1px solid #CCCCCC;\" cellspacing=\"0\" cellpadding=\"2\">";
  34. echo "<tr bgcolor=\"$kleur\"><td><b>$obj->naam</b> schreef op: <b>$obj->datum, $obj->tijd</b></td></tr>
  35. <tr bgcolor=\"$kleur\"><td>";
  36. echo WoordenFilter(ReplaceSmilies(nl2br($obj->bericht)));
  37. echo "</td></tr>
  38. <tr bgcolor=\"$kleur\"><td align=\"center\"><hr size=\"1\" noshade>";
  39. if($obj->website == "http://" || empty($obj->website))
  40. {
  41. echo "";
  42. } else {
  43. echo "<a href=\"$obj->website\" target=\"_blank\">Website</a>&nbsp;";
  44. }
  45. if($obj->semail == "Ja")
  46. {
  47. echo "<a href=\"mailto:$obj->email\">E-mail</a>&nbsp;";
  48. } else {
  49. echo "";
  50. }
  51. echo "</td></tr></table><BR>";
  52. }
  53.  
  54. if(IsSet($_POST['submit']))
  55. {
  56. if(!empty($_POST['naam']) || !empty($_POST['email']) || !empty($_POST['bericht']))
  57. {
  58. 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)."')");
  59. echo "Uw gegevens zijn goed door ons ontvangen. <a href=\"index.php?page=gastenboek\">klik hier om terug te gaan</a>";
  60. mail($admin, "Gastenboek", $bericht, "FROM: hier je email");
  61.  
  62. setcookie("gastenboek",1,Time()+3600*24*7); //cookie geset voor 7 dagen om spam te verkomen
  63. }
  64. else
  65. {
  66. echo "U heeft niet alles ingevuld ga <a href=\"javascript:history.back()\">terug</a><BR>
  67. Of uw emailadres is ongeldig";
  68. }
  69. }
  70. else
  71. {
  72. if(!$_COOKIE['gastenboek'] == 1)
  73. {
  74. ?>
  75. <form method="POST">
  76. <table width="100%" cellspacing="0" cellpadding="0" border="0" >
  77. <tr bgcolor="#F1F3FC"><td>Naam:</td><td><input type="text" name="naam" maxlength="25"></td></tr>
  78. <tr bgcolor="#F1F3FC"><td>Email:</td><td><input type="text" name="email" maxlength="30"></td></tr>
  79. <tr bgcolor="#F1F3FC"><td>Datum, Tijd:</td><td><?php echo "".$datum.", ".$tijd.""; ?></td></tr>
  80. <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>
  81. <tr bgcolor="#F1F3FC"><td>Bericht:</td><td><textarea name="bericht" cols="39" rows="10"></textarea></td></tr>
  82. <tr bgcolor="#F1F3FC"><td>Wilt u uw email laten zien?</td><td><input type="radio" name="semail" value="Ja">Ja&nbsp; <input type="radio" name="semail" value="Nee">Nee</td></tr>
  83. <tr bgcolor="#F1F3FC"><td colspan="2" align="center"><input type="submit" name="submit" value="Verstuur">&nbsp;<input type="reset" value="Wis alle velden"></td></tr>
  84. </table>
  85. </form>
  86. <?php
  87. }
  88. else
  89. {
  90. echo "<hr size=\"1\" noshade><center>U heeft al in ons gastenboek geschreven!</center><hr size=\"1\" noshade>";
  91. }
  92. }
  93. ?>


-- smileys.php --
  1. <?php
  2. function ReplaceSmilies($txt)
  3. { // starten v/d fucntie ReplaceSmilies, het vervangen van text door smilies.
  4.  
  5. $cDir = 'images';
  6. // map waarin de smilies staan...
  7. $cCodes = array(':d',':p',':)',';)',':-|','b)',':S');
  8. // array met de smilie codes.
  9. $cCodes2 = array(':D',':P',':-)',';-)',':|','B)',':s');
  10. // 2e array met codes, dezelfde, maar in andere vorm.
  11. $cSmilies = array('bigsmile.png','tong.png','smile.png','knipoog.png','verbaast.png','zonnebril.png','sad.png');
  12. // De bestandsnamen ervan
  13.  
  14. // let erop dat je evenveel smilies hebt ingevoerd bij de bovenstaande 3 array's!
  15. // Als dat niet het geval is wordt er nu het een en ander aan geknipt...
  16.  
  17. if(count($cCodes) != count($cCodes2))
  18. {
  19. // De aantal smilies in $cCodes en $cCodes2 zijn niet evenveel.
  20. if(count($cCodes) > count($cCodes2))
  21. {
  22. $cAantal = count($cCodes2);
  23. }
  24. else
  25. {
  26. $cAantal = count($cCodes);
  27. }
  28. }
  29. else
  30. {
  31. $cAantal = count($cCodes);
  32. }
  33.  
  34. // nu dan het echte vervangen met een for-loop.
  35.  
  36. for($i=0;$i<$cAantal;$i++)
  37. {
  38. $txt = str_replace($cCodes[$i],'<img src="'.$cDir.'/'.$cSmilies[$i].'" border="0">',$txt);
  39. // vervangen van de smilies uit de 1e array.
  40. $txt = str_replace($cCodes2[$i],'<img src="'.$cDir.'/'.$cSmilies[$i].'" border="0">',$txt);
  41. // vervangen van de smilies uit de 2e array.
  42. }
  43. return $txt;
  44. }
  45.  
  46. function WoordenFilter($txt)
  47. {
  48. $cReplace = '***';
  49. // het vervangde woord.
  50. $cWoorden = array('kut', 'tering', 'kanker', 'homo', 'fuck', 'f*ck', 'lul', 'fucking');
  51. // spreekt voor zich...
  52.  
  53. for($i=0;$i<count($cWoorden);$i++)
  54. {
  55. $txt = str_replace($cWoorden[$i],$cReplace,$txt);
  56. // heel eenvoudig, hier worden de woorden mee vervangen.
  57. }
  58.  
  59. return $txt;
  60. }
  61. ?>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (11)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.053s