login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Gastenboeken > Gastenboek met admin

Gastenboek met admin

Auteur: GTW - 19 maart 2006 - 17:49 - Gekeurd door: nemesiskoen - Hits: 19696 - Aantal punten: 4.29 (7 stemmen)



Dit script bestaat uit 4 pagina's:

- De index
- De admin
- De style
- De config

Met de admin kun je berichten uit de database/het gastenboek verwijderen.

De preview is met banner, het origineel is zonder.

Edit:Ik heb er even een ipblocker ingebouwd en de berichten worden nu gesorteerd zodat de nieuwste bovenaan staat

Code:
<------------------>
De tabel:
<------------------>
  1. CREATE TABLE `gastenboek` (
  2. `id` INT( 8 ) NOT NULL AUTO_INCREMENT ,
  3. `van` VARCHAR( 255 ) NOT NULL ,
  4. `datum` VARCHAR( 50 ) NOT NULL ,
  5. `email` VARCHAR( 255 ) NOT NULL ,
  6. `website` VARCHAR( 255 ) NOT NULL ,
  7. `bericht` VARCHAR( 255 ) NOT NULL ,
  8. `ip` VARCHAR( 15 ) NOT NULL ,
  9. UNIQUE ( `id` )
  10. ) TYPE = MYISAM ;

<------------------>
Index.php
<------------------>
  1. <?
  2. include"config.php";
  3. $haalaantal = mysql_num_rows(mysql_query("SELECT * FROM gastenboek"));
  4. $ip = $_SERVER['REMOTE_ADDR'];
  5. $error = "";
  6. if(isset($_GET['post'])and($_GET['post']=="1")){
  7. if(empty($_POST['naam'])){
  8. $error .= "<tr><td colspan=\"2\"><font color=\"red\">Geen naam ingevuld</font></td></tr>";}
  9. if(empty($_POST['naam'])){
  10. $error .= "<tr><td colspan=\"2\"><font color=\"red\">Geen bericht ingevuld</font></td></tr>";}
  11. if(!empty($_POST['naam'])and(!empty($_POST['bericht']))){
  12. $insert = "INSERT INTO gastenboek (van, datum, email, website, bericht, ip) VALUES ('".$_POST['naam']."', '".$_POST['datum']."', '".$_POST['email']."', '".$_POST['website']."', '".$_POST['bericht']."', '".$ip."')";
  13. if(mysql_query($insert)){
  14. $error = "<tr><td colspan=\"2\" align=\"center\"><font color=\"green\">Alles is correct ingevuld</font></td></tr>";
  15. }
  16. }
  17. }
  18. ?>
  19. <html>
  20. <head>
  21. <link href="style.css" rel="stylesheet" type="text/css">
  22. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  23. <title>Gastenboek</title>
  24. </head>
  25.  
  26. <body>
  27. <center>
  28. <!-- gastenboek zelf -->
  29. <table cellspacing="0" width="300px">
  30. <tr>
  31. <td colspan="2" align="center"><font class="header">Gastenboek</font></td>
  32. </tr>
  33. <tr>
  34. <td colspan="2" align="center"><font class="header">Aantal berichten:<?=$haalaantal;?></font></td>
  35. </tr>
  36. <tr>
  37. <td align="center" colspan="2"><a href="#schrijf">Schrijf wat in het gastenboek</a></td>
  38. </tr> <br>
  39.  
  40.  
  41. <!-- bericht schrijven -->
  42. <?php
  43. $datum=getdate();
  44. $dag = $datum['mday'];
  45. $maand = $datum['mon'];
  46. $jaar = $datum['year'];
  47. $uur = $datum['hours'];
  48. $min = $datum['minutes'];
  49. $datumnu = "".$dag."-".$maand."-".$jaar." [".$uur.":".$min."]";
  50.  
  51. $haalberichten = mysql_query("SELECT van, datum, email, website, bericht FROM gastenboek ORDER by id DESC");
  52. while($msg=mysql_fetch_object($haalberichten)){?>
  53. <table cellspacing="0" width="300px"><tr>
  54. <td align="right" width="20%"><b>Van:</b></td>
  55. <td><?=$msg->van;?></td>
  56. </tr>
  57. <tr>
  58. <td align="right"><b>op:</b></td>
  59. <td><?=$msg->datum;?></td>
  60. </tr>
  61. <?
  62. if($msg->email!=""){
  63. ?>
  64. <tr><td align="right"><b>Email:</b></td>
  65. <td><a href="mailto:<?=$msg->email;?>"><?=$msg->email;?></a></td></tr>
  66. <? };
  67. if($msg->website!=""){
  68. ?>
  69. <tr><td align="right"><b>Website:</b></td>
  70. <td><a href=<?=$msg->website;?> target="_blank"><?=$msg->website;?></a></td></tr>
  71. <? };?>
  72. <tr>
  73. <td colspan="2" style="padding-left:10px;"><?=nl2br(htmlentities($msg->bericht));?></td>
  74. </tr></table>
  75. <?php
  76. }
  77. ?>
  78. </table>
  79.  
  80. <form name="schrijf" action="<?=$_SERVER['PHP_SELF'];?>?post=1" method="post">
  81. <input type="hidden" name="datum" value="<?=$datumnu;?>" />
  82. <table cellspacing="0" width="300px" id="schrijf">
  83. <tr>
  84. <td colspan="2" align="center"><font class="header">Schrijf in het gastenboek</font></td>
  85. </tr>
  86. <?=$error;?>
  87. <tr>
  88. <td width="50%">Naam:</td>
  89. <td><input type="text" maxlength="255" name="naam" /></td>
  90. </tr>
  91. <tr>
  92. <td>Email:</td>
  93. <td><input type="text" maxlength="255" name="email" /></td>
  94. </tr>
  95. <tr>
  96. <td>Website:</td>
  97. <td><input type="text" maxlength="255" name="website" value="http://" /></td>
  98. </tr>
  99. <tr>
  100. <td colspan="2">Bericht:</td>
  101. </tr>
  102. <tr>
  103. <td colspan="2" align="center">
  104. <textarea name="bericht" cols="30" rows="5" class="textarea"></textarea>
  105. </td>
  106. </tr>
  107. <tr>
  108. <td colspan="2" align="center"><input type="submit" class="submit" value="Post bericht" /></td>
  109. </tr>
  110. </table>
  111. </form>
  112. <a href="admin.php">Admin</a>
  113. </center>
  114. </body>
  115. </html>

<---------------------->
Config.php
<---------------------->
  1. <?php
  2. $adminnaam = "Admin";
  3. $adminwachtwoord = "******";
  4. mysql_connect("localhost","root","******");
  5. mysql_select_db("gastenboek");
  6. // ipblocker
  7. $ip = $_SERVER['REMOTE_ADDR'];
  8. $blockedip = array(); // vb array("127.000.000.1","192.168.2.1")
  9. if(in_array($ip,$blockedip)){
  10. echo "Je bent geblocked, de reden zul je zelf wel weten!";
  11. }
  12. ?>

<------------------->
Style.css
<------------------->
  1. /* CSS Document */
  2. BODY
  3. {
  4. background-color:#0099FF;
  5. }
  6.  
  7. TABLE
  8. {
  9. border-color:#FF9900;
  10. border-style:double;
  11. background-color:#EEEEFF;
  12. }
  13.  
  14. {
  15. color:#FF9900;
  16. font-size:18px;
  17. font-weight:bold;
  18. }
  19.  
  20. .nonheader
  21. {
  22. color:#000000;
  23. font-size:18px;
  24. }
  25.  
  26. A
  27. {color:#FF9900;
  28. text-decoration:none;
  29. background-color:#EEEEFF;
  30. font-weight:bold;
  31. }
  32.  
  33. A:hover
  34. {
  35. text-decoration:underline;
  36. }
  37.  
  38. INPUT
  39. {
  40. background-color:#FF9900;
  41. border:1;
  42. font-style:italic;
  43. }
  44.  
  45. .submit
  46. {
  47. background-color:#FF9900;
  48. border-width:medium;
  49. border-color:#000000;
  50. font-style:normal;
  51. font-weight:bold;
  52. }
  53.  
  54. .textarea
  55. {
  56. background-color:#FF9900;
  57. text-align:left;
  58. border:0;
  59. elevation:below;
  60. }

<--------------->
Admin.php
<--------------->
  1. <?php
  2. include "config.php";
  3. ?>
  4. <head>
  5. <title>Gastenboek Admin</title>
  6. <link href="style.css" rel="stylesheet" type="text/css">
  7. </head>
  8. <body>
  9. <center>
  10. <?php
  11. if(isset($_GET['verwijder'])){
  12. $delete = "DELETE FROM gastenboek WHERE id='".$_GET['verwijder']."'";
  13. if(mysql_query($delete)){
  14. ?>
  15. <table width="300px" cellspacing="0">
  16. <tr>
  17. <td colspan="2" class="header" align="center">Verwijderd</td>
  18. </tr>
  19. <tr>
  20. <td width="50%" align="center">Het bericht is verwijderd.<br /><a href="admin.php?controleer=ja">Klik hier om terug te gaan</a></td>
  21. </tr>
  22. </table>
  23. <?
  24. exit();
  25. }
  26. else{
  27. ?>
  28. <table width="300px" cellspacing="0">
  29. <tr>
  30. <td colspan="2" class="header" align="center">Niet verwijderd</td>
  31. </tr>
  32. <tr>
  33. <td width="50%" align="center">Het bericht is niet verwijderd.<br /><a href="admin.php?controleer=ja">Klik hier om terug te gaan</a></td>
  34. </tr>
  35. </table>
  36. <?
  37. exit();
  38. }
  39. }
  40. // de admin controleren
  41. if(isset($_GET['controleer'])and($_GET['controleer']=="ja")){
  42. if((isset($_POST['adminnaam']))and(isset($_POST['password']))){
  43. if(($_POST['adminnaam']!=$adminnaam)or($_POST['password']!=$adminwachtwoord)){
  44. ?>
  45. <table width="300px" cellspacing="0">
  46. <tr>
  47. <td colspan="2" class="header" align="center">Admin loginfout</td>
  48. </tr>
  49. <tr>
  50. <td width="50%" align="center">Je kon niet worden ingelogd omdat er een fout was in je naam of wachtwoord<br /><a href="admin.php">Klik hier om het nogmaals te proberen</a></td>
  51. </tr>
  52. </table>
  53. <?
  54. exit();
  55. }
  56. if(($_POST['adminnaam']==$adminnaam)and($_POST['password']==$adminwachtwoord)){
  57. setcookie("admingastenboek",$adminnaam,"0","/");
  58. header("refresh:1");
  59. }
  60. }
  61. if(isset($_COOKIE['admingastenboek'])){
  62. $aantal = mysql_num_rows(mysql_query("SELECT * FROM gastenboek"));
  63. if($aantal>0){
  64. $select = mysql_query("SELECT id, van, datum, email, website, bericht, ip FROM gastenboek ORDER by id DESC");
  65. ?>
  66. <table width="300px" cellspacing="0">
  67. <tr>
  68. <td colspan="2" class="header" align="center">Gastenboek Admin</td>
  69. </tr>
  70. <tr>
  71. <? while($f=mysql_fetch_object($select)){?>
  72. <table width="300px">
  73. <tr>
  74. <td class="header" width="20%" align="right">ID:</td>
  75. <td class="nonheader"><?=$f->id;?></td>
  76. </tr>
  77. <tr>
  78. <td class="header" align="right">Van:</td>
  79. <td class="nonheader"><?=$f->van;?></td>
  80. </tr>
  81. <tr>
  82. <td class="header" align="right">op:</td>
  83. <td class="nonheader"><?=$f->datum;?></td>
  84. </tr>
  85. <tr>
  86. <td class="header" align="right">email:</td>
  87. <td class="nonheader"><?=$f->email;?></td>
  88. </tr>
  89. <tr>
  90. <td class="header" align="right">Website:</td>
  91. <td class="nonheader"><a href="http://<?=$f->website;?>"><?=$f->website;?></a></td>
  92. </tr>
  93. <tr>
  94. <td class="header" align="right">IP:</td>
  95. <td class="nonheader"><a href="http://network-tools.com/default.asp?host=<?=$f->ip;?>" target="_blank"><?=$f->ip;?></a></td>
  96. </tr>
  97. <tr>
  98. <td class="header" align="right" valign="top">bericht:</td>
  99. <td class="nonheader"><?=$f->bericht;?></td>
  100. </tr>
  101. <tr height="20">
  102. <td></td>
  103. </tr>
  104. <tr>
  105. <td class="nonheader" colspan="2"><a href="<?=$_SERVER['PHP_SELF'];?>?delete=<?=$f->id;?>">Verwijder</a></td>
  106. </tr>
  107. </table>
  108. <?php }?>
  109.  
  110. </table>
  111. <?php
  112. }
  113. else{?>
  114. <table width="300px" cellspacing="0">
  115. <tr>
  116. <td colspan="2" class="header" align="center">Gastenboek Admin</td>
  117. </tr>
  118. <tr>
  119. <td class="nonheader" align="center">Geen berichten</td>
  120. </tr>
  121. </table>
  122. <?php
  123. }
  124. exit();
  125. }
  126. }
  127. if(isset($_GET['delete'])){
  128. if(!isset($_COOKIE['admingastenboek'])){
  129. echo"Je moet wel ingelogd zijn";
  130. exit();
  131. }
  132. if(isset($_COOKIE['admingastenboek'])){
  133. $haalop=mysql_fetch_object(mysql_query("SELECT van, datum, ip FROM gastenboek"));?>
  134. <table width="300px" cellspacing="0">
  135. <tr>
  136. <td colspan="2" class="header" align="center">Gastenboek Admin</td>
  137. </tr>
  138. <tr> <td class="nonheader" align="center">Weet u zeker dat u het bericht van <?=$haalop->van;?>,<br />gepost op: <?=$haalop->datum;?><br />Vanaf IP: <?=$haalop->ip;?>,<br />wilt verwijderen?</td>
  139. </tr>
  140. </table>
  141. <table width="300px" cellspacing="0">
  142. <tr>
  143. <td width="50%" align="center"><a href="<?=$_SERVER['PHP_SELF'];?>?verwijder=<?=$_GET['delete'];?>">Ja</a></td>
  144. <td align="center"><a href="<?=$_SERVER['PHP_SELF'];?>?controleer=ja">Nee</a></td>
  145. </tr>
  146. </table>
  147.  
  148. <?
  149. exit();
  150. }
  151. }
  152. if(isset($_COOKIE['admingastenboek'])){
  153. header("location:admin.php?controleer=ja");
  154. }
  155. ?>
  156. <!-- Het loginscherm -->
  157. <form name="adminlogin" action="<?=$_SERVER['PHP_SELF'];?>?controleer=ja" method="post">
  158. <table width="300px" cellspacing="0">
  159. <tr>
  160. <td colspan="2" class="header" align="center">Admin Login</td>
  161. </tr>
  162. <tr>
  163. <td class="header" width="50%">Naam:</td>
  164. <td class="header"><input type="text" name="adminnaam" /></td>
  165. </tr>
  166. <tr>
  167. <td class="header">Wachtwoord:</td>
  168. <td class="header"><input type="password" name="password" /></td>
  169. </tr>
  170. <tr>
  171. <td class="header" colspan="2" align="center"><input type="submit" value="Controleer" class="submit" /></td>
  172. </tr>
  173. </table>
  174. </form>
  175. </center>
  176. </body>
Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

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