Regnery.net Internet

HTML CSS PHP MYSQL JQuery SEO – internetoplossingen

Gastenboek – script PHP

Verbinding database

connect.php
<?php
if(mysql_connect('127.0.0.1',,'root',,'wachtwoord')) && mysql_select_db('Gastboek') ) { } else { echo'De verbinding is niet mogelijk, neem contact op met de webmaster'; } ?>

Met bovenstaand bestand kun je de verbinding met de database tot stand brengen. Voordeel is van een apart bestand dat je bij wijziging van server je alleen hier de nieuwe gegevens hoeft in te vullen. Voor extra veiligheid kun je het bestand in een afgescherme directory zetten. Dit kun je bijvoorbeeld met een .htaccess bestand afschermen.

gastboek.php
<?php 
include 'connect.php';    

if(isset($_POST['submit'])){     
$errors = array();    
$naam   = mysql_real_escape_string(htmlentities($_POST['naam']));  
$email   = mysql_real_escape_string(htmlentities($_POST['email']));  
$gastboek  = mysql_real_escape_string(htmlentities(strip_tags($_POST['gastboek'])));  
$gastboek = nl2br($gastboek);      

if(empty($naam) || empty($email) || empty($gastboek)) 
{   $errors[] = 'Alle velden zijn verplicht!';  } 

if(strlen($naam) > 30 || strlen($email) > 255 || strlen($gastboek) > 255) 
{   $errors[] = 'een of meer velden zijn te lang.';  }    

$gastboek = preg_replace('#\[b\](.+)\[/b\]#isU', '<b>$1</b>', $gastboek);  
$gastboek = preg_replace('#\[i\](.+)\[/i\]#isU', '<i>$1</i>', $gastboek);    

if(empty($errors)){   
$insert = "INSERT INTO tblBericht VALUES ('', now(), '$naam', '$email', '$gastboek')";   
if($insert = mysql_query($insert)) {    
header('location: '.$_SERVER['PHP_SELF']);    
die();   
} else {    
$errors[] = 'Er is iets misgegaan.';}  
} else {   
foreach($errors as $error) {    
echo '<p>'.$error.'</p>';   }  
}   }

$sql = mysql_query("SELECT timestamp, naam, email, bericht  FROM tblbericht ORDER BY timestamp DESC LIMIT 3");     
if(mysql_num_rows($sql) == 0) {    
echo 'Nog geen berichten';   
} else {    
while($sql_row = mysql_fetch_assoc($sql)) {     
$gastboek_timestamp = $sql_row['timestamp'];     
$gastboek_naam = $sql_row['naam'];     
$gastboek_email = $sql_row['email'];     
$gastboek_bericht = $sql_row['bericht'];          

echo '<p><strong>Ingezonden door: '.$gastboek_naam.' ('.     
$gastboek_email.') op '.$gastboek_timestamp .'</strong>: <br>'.     
$gastboek_bericht.'</p>';   
}     
echo '<a href="gastboek-vervolg.php">Lees alle berichten ...</a>';   
} ?>
<html>
<style>   ul {    list-style: none;   }  </style> 
<hr>
<h1>Laat een bericht achter</h1>
<p>Maak een bericht en druk op Verzenden...</p>
<form action="" method="Post"> 
<ul>
<li>Naam:</li><li><input type="text" name="naam" /></li>  
<li>E-mail</li><li><input type="text" name="email" /></li>  
<li>Bericht:</li> <li><textarea name="gastboek" rows="6" cols="20"></textarea></li>  
<li><input type="submit" name="submit" value="Verzenden" /></li> 
</ul> 
</form>

<p>De volgende BB code kun je gebruiken om je tekst op te maken: 
<ul><li>[b]..[/b]: vet gedrukt</li><li>[i]..[/i]: schuingedrukt</li></ul>
</p>
</html>

Met deze pagina laat je de laatste drie berichten zien en geef je de bezoeker de mogelijkheid een bericht achter te laten. De invoer maak je schoon en je geeft de bezoeker de mogelijkheid om de tekst enigzins op te maken met zogenaamde BB code.