Simple GuestBook

Namecheap AuctionsNamecheap Auctions
Namecheap AuctionsNamecheap Auctions
SpaceshipSpaceship
Watch
A simple guestbook. Stores information in a text file.
EDIT: Script Updated. Now v1.0.2 :)

If you have any problems with this script, i.e. Any errors. Or, if you have any suggestions, PM or reply to this thread.

-Tweaked the code a lil.
-Few minor bugs fixed.

guestbook.php (Displays Entries)
PHP:
<html>
<head>
<title>Guestbook</title>
</head>

<body>
<?php

$file = "guestbook.txt";
if(file_exists($file))
{
  $fp = fopen($file, "r");
  $book = fread($fp, filesize($file));
  fclose($fp);
  echo nl2br($book);
}
else
{
  echo "Sorry, seems there was an error, please wait a few minutes and try again.";
}
?>
</body>
</html>

addentry.html (The form)
HTML:
<html>
<head>
<title>Add an Entry</title>
</head>

<body>

<form method="post" action="addentry.php">
Name:
<br>
<input name="name" type="text" size="30" maxlength="40">
<br><br>
Email:
<br>
<input name="email" type="text" size="30" maxlength="40">
<br><br>
Home Page:
<br>
<input name="site" type="text" size="30" value="http://" maxlength="40">
<br><br>
Message:
<br>
<textarea name="message" cols="25" rows="5">
</textarea>
<br><br>
<input type="submit" value="Add">
</form>

</body>
</html>

addentry.php (what the form submits the information to)
PHP:
<html>
<head>
<title>Thank You</title>
</head>

<body>
<?php

$file = "guestbook.txt";
$name = $_POST['name'];
$email = $_POST['email'];
$site = $_POST['site'];
$message = $_POST['message'];
$date = date("l dS of F Y h:i:s A");

$site = trim(stripslashes(strip_tags($site));
$message = trim(stripslashes(strip_tags($message));
$email  = trim(stripslashes(strip_tags($email));
$name = trim(stripslashes(strip_tags($name)));


if(empty($email) || empty($name) || empty($message))
{
  echo 'Sorry all fields are required.';
}
else
{
  $validate = preg_match('/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/';, $email);

  if(!$validate)
  {
    echo($email . "is not a valid email!");
  }
  else
  {
    $e = $email;
  }
  if(file_exists($file))
  {
    $fp = fopen($file, "a");
    fwrite($fp, '
    <font size="4">
    <br><br><br>
    Name: '.$name.'<br>
    Email: '.$e.'<br>
    Home Page: <a href="'.$site.'">'.$site.'</a><br>
    Message: '.$message.'<br><br>
    Added: '.$date.'</font>
    ');
    fclose($fp);
    echo '<p align="center">Thank you '.$name.' for singing my guestbook</p>';
  }
  else
  {
    echo 'Sorry, seems there was an error, please try again in a few minutes.';
  }
}
?>

</body>
</html>

edit.php (where you can edit/delete entries)
PHP:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Admin Area</title>
</head>

<body>
<form method="post" action="?do=login">
<b>Password Required</b>
Admin Username: <input type="text" name="user" size="20">
Admin Password: <input type="password" name="pass" size="20">
<input type="submit" value="Submit">
</form>
<br>
<?php

//I recommend you change the username and password.
$username = "admin";
$password = "password";

if($do == "login")
{
  if($_POST['user'] == $username && $_POST['pass'] == $password)
  {
    echo "Login successful.";
    echo "<br>";
    echo "<br>";

    $file = "guestbook.txt";
    if(file_exists($file))
    {
      $fp = fopen($file, "r");
      $book = fread($fp, filesize($file));
      fclose($fp);
    }
?>
<form method="post" action="?do=edit">
<b>If you wish to edit/delete an entry, edit below:</b>
<br>
<textarea name="entries" cols="70" rows="20">
<?php
echo $book;
?>
</textarea>
<br>
<input type="submit" name="Submit" value="Save">
<input type="button" name="Cancel" value="Cancel" onclick="javascript: history.back()">
</form>
<br>
<br>
<?php
  }
  else
  {
    echo "<font color=\"red\">Invalid Username or Password.</font><a href='javascript: history.back()'>Try again.</a>";
  }
}
if($do == "edit")
{
  $entries = $_POST['entries'];
  $entries = trim(stripslashes($entries));
  $file = "guestbook.txt";

  if(file_exists($file))
  {
    $fp = fopen($file, "w");
    fputs($fp, $entries);
    fclose($fp);
?>
<br>
<br>
Content Edited Successfully.
<?php
  }
}
?>

</body>
</html>

guestbook.txt (Where the entries are stored) - Just upload a blank .txt file. Also.. It has to be writable. CHMOD 0777


Enjoy :)
 
Last edited:
0
Close
The views expressed on this page by users and staff are their own, not those of NamePros.
GoDaddyGoDaddy
I have a small problem with mine when you go to view the entries the html code popes up also how would you delete them if there are any negative ones?

http://www.kvchosting.com/code/addentry.html - my version of your code ;)
 
0
Close
nm got it working thanks for the script :)
 
0
Close
I'll edit the post in a sec. Here in a min, i'll write a page so ou can edit the guestbook etc..


-Eric
 
0
Close
Is there a way how u can make it so if u wanted to delete negative entries you can do it without having to delete the .txt and re-uploading it and chmoding it?
 
0
Close
Script Updated in First Post. Will add the edit/delete page in a lil bit.

Edit/Delete page added.
 
0
Close
Ive got this up and running on my site (http://scoville-jenkins.com/guest_book/guestbook.php). Seems to work really well!:) I did add a link to the add entry page on the main page and then I added a link back to the main page on the thank you page, since those pages didnt have links back already. And I also aint got the edit page up since I wasnt quite sure how to work it lol.:p Anyways... as I said, works great! Thanks SV!:D
 
0
Close
0
Close
AJ said:
Ive got this up and running on my site (http://scoville-jenkins.com/guest_book/guestbook.php). Seems to work really well!:) I did add a link to the add entry page on the main page and then I added a link back to the main page on the thank you page, since those pages didnt have links back already. And I also aint got the edit page up since I wasnt quite sure how to work it lol.:p Anyways... as I said, works great! Thanks SV!:D


Hello AJ,

Thanks, I'm glad you like it. :) The edit page, just upload to your server, then go to http://www.yourdomain.com/path/to/edit.php Enter user and pass, then you can delete/edit entries. :)

Psssssst, I'm working on a SQL version. ;)

-Eric
 
0
Close
Dam nice sript SV heck i may even use it.Know what i will use it.
 
0
Close
hi guys really sorry if this is an old post great script i have uploaded all scripts
to my server CHMODDED .txt file to 0777 i'v added my username and pass in the edit.php
so i put my username and pass into the admin part and its not letting me in?

could anyone help
 
0
Close
hi guys really sorry if this is an old post great script i have uploaded all scripts
to my server CHMODDED .txt file to 0777 i'v added my username and pass in the edit.php
so i put my username and pass into the admin part and its not letting me in?

could anyone help
This won't work anymore. It's an outdated code.
 
0
Close
DomainEasy: white label portfolios are live. Enable yours.

We're social

Escrow.com
Spaceship
Domain Recover
CryptoExchange.com

NamePros updates

Switch between accounts
You can now stay logged in to more than one NamePros account in the same browser. Click your avatar, then "Accounts in this browser", to...
AIVikings
Catchy
  • The sidebar remains visible by scrolling at a speed relative to the page’s height.
Back