Dreamhost

Looking for somewhere to host your site? Browse our PHP web hosts section!

Home > PHP Scripts > Simple guestbook

Simple guestbook

Description

Allows visitors to your site to read your guestbook entries and post a message of their own. Very simple setup, only requires you to change 4 settings. Uses MySQL to store the entries.

The code


<?php


/**
 * Create the table in your MySQL database:
 * 
 * CREATE TABLE guests (
 *   id int(10) NOT NULL auto_increment,
 *   name varchar(50) NOT NULL,
 *   message varchar(255) NOT NULL,
 *   date timestamp(14) NOT NULL,
 *   PRIMARY KEY (id)
 * )
 * 
 * Change the database login settings to your own
 * 
 * The script is now ready to run
 */

// Change these to your own database settings
$host "localhost";
$user "username";
$pass "password";
$db "database";

mysql_connect($host$user$pass) OR die ("Could not connect to the server.");
mysql_select_db($db) OR die("Could not connect to the database.");
      
$name stripslashes($_POST['txtName']);
$message stripslashes($_POST['txtMessage']);

if (!isset(
$_POST['txtName'])) {

    
$query "SELECT id, name, message, DATE_FORMAT(date, '%D %M, %Y @ %H:%i') as newdate FROM guests ORDER BY id DESC";
    
$result mysql_query($query);
    
    while (
$row mysql_fetch_object($result)) {

?>

<p><strong><?php echo $row->message?></strong>
<br />Posted by <?php echo $row->name?> on <?php echo $row->newdate?></p>

<?php
        
    
}
    
?>

<p>Post a message</p>

<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">

    <p><label for="txtName">Name:</label><br />
    <input type="text" title="Enter your name" name="txtName" /></p>

    <p><label for="txtMessage">Your message:</label><br />
    <textarea title="Enter your message" name="txtMessage"></textarea></p>
    
    <p><label title="Send your message">
    <input type="submit" value="Send" /></label></p>
    
</form>

<?php

}

else {

    
// Adds the new entry to the database
    
$query "INSERT INTO guests SET message='$message', name='$name', date=NOW()";
    
$result mysql_query($query);

    
// Takes us back to the entries
    
$ref $_SERVER['HTTP_REFERER'];
    
header ("Location: $ref");
}

?> 

Get the code

Download the file to your computer: Click here to get the file