Content Management Code

  Home arrow Content Management Code arrow Guestbook
CONTENT MANAGEMENT CODE

Guestbook
By: Codewalkers
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 3 stars3 stars3 stars3 stars3 stars / 11
    2002-01-18

    Table of Contents:

     
     

    SEARCH CODEWALKERS

    TOOLS YOU CAN USE

    advertisement
    This is a guestbook script, that stores all records in a MYSQL database. Displays records by pages. Highly configurable interface. For more information contact me at: nerd@kic.kmtn.ru See demo of the script at: http://php.inc.ru

    By : lyonchik

    <?
    /********************************************************************************
    Guestbook by lyonchik: nerd@kic.kmtn.ru
    Contact me to report bugs, give your comments or
    to develop your own personalized Web applications.

    This is a simple guestbook. It consists only of one file.
    All you need to do is create a MYSQL database table and set the variables below
    to conform to your settings and that's it.
    The sample query to create a table should be:

    "CREATE TABLE guestbook (id int(5) NOT NULL auto_increment, name varchar(20),
    email varchar(20), message text, date datetime, PRIMARY KEY (id))"

    And the guestbook is ready to go. Enjoy!

    You can freely distribute this code. For any suggestions and comments write to:
    'nerd@kic.kmtn.ru'. Feel free to email me URLs where this guestbook works,
    I would love to hear that my work is appreciated.
    *********************************************************************************/

    // Define MYSQL server information
    $server = 'localhost'; // MYSQL server;
    $user = ''; // User to connect to MYSQL server;
    $password = ''; // Password;
    $database = 'database name'; // The name of the database;
    $table = 'guestbook'; // The name of your database table;

    // Define page layout variables
    $guestbook_name = "My guestbook page"; // Guestbook page name;
    $titlecolor = 'black'; // Title font color;
    $tablewidth = "90%"; // Table width in pixels or percentage;
    $bgcolor = '#AAAAAA'; // Table background color value (name of hex equivalent);
    $bordercolor = '#000000'; // Table border color value (name of hex equivalent);
    $bordersize = 5; // Table border size;
    $cellspacing = 0; // Table cellspacing value;
    $cellpadding = 5; // Table cellpadding value;
    $messagecellcolor = '#BBAAAA'; // message cell color;
    $namecolor = '#0000EE'; // name font color;
    $messagecolor = '#000099'; // message font color;
    $mainfont = '#000033'; // main text font color;
    $maxshow = 10; // Number of messages to display per page;
    ?>
    <HTML>
    <META http-equiv=Content-Type content="text/html; charset=windows-1251">
    <HEAD>
    <TITLE>
    <?
    echo $guestbook_name;
    ?>
    </TITLE>
    <script language="javascript">
    function checkForm()
    {
    if ((document.forms.myGB.name.value == '') || (document.forms.myGB.message.value == ''))
    {
    alert('Fill in required fields!');
    }
    else {
    document.forms.myGB.submit();
    }
    }
    </script>
    </HEAD>
    <?


    echo "<BODY bgcolor=" . $bgcolor . ">";
    echo "<div align=center><h1><font color=" . $titlecolor . ">" . $guestbook_name . "</font></h1>";




    if (isset($message))
    {
    if ($email == "")
    {
    $email = "no_email";
    }
    mysql_connect ($server, $user, $password) or die ("Can't connect!");
    mysql_select_db ($database) or die ("Can't open database!");
    $sql = "INSERT INTO $table (name, email, message, date) VALUES ('$name', '$email', '$message', NOW())";
    $result = mysql_db_query($database, $sql);
    if ($result)
    echo "<meta http-equiv='Refresh' content='0; URL=" . $PHP_SELF . "'>";
    else
    echo "Error! Check the form!";
    mysql_close();
    }


    if (!isset($show))
    {
    $show = 0;
    }
    mysql_connect($server, $user, $password) or die ("Can't connect!");
    mysql_select_db($database) or die ("Can't open database!");
    $sql = "SELECT * FROM $table ORDER BY id DESC";
    $result = mysql_db_query($database, $sql);
    if ($result)
    {
    $count = mysql_num_rows($result);

    $sqlshow = "SELECT * FROM $table ORDER BY id DESC LIMIT $show, $maxshow";
    $result = mysql_db_query($database, $sqlshow);
    ?>
    <table width=<? echo $tablewidth ?> cellspacing=<? echo $cellspacing ?> cellpadding=<? echo $cellpadding ?> border=<? echo $bordersize ?> bordercolor=<? echo $bordercolor ?>>
    <?
    while (($myrow = mysql_fetch_array($result)))
    {
    echo "<tr><td colspan=2 valign=top bgcolor=" . $messagecellcolor . "><font color=" . $messagecolor . ">Sent by <b>" . htmlspecialchars($myrow["name"]) . "</b><i>, " . $myrow["date"] . "</i><br>Email: <a href=mailto:" . htmlspecialchars($myrow["email"]) . ">" . htmlspecialchars($myrow["email"]) . "</a><br><br>" . htmlspecialchars($myrow["message"]) . "</font></td></tr>";
    }
    ?>
    </table>
    <?
    }
    else
    echo "Error!";
    mysql_close();

    echo "<font color=" . $mainfont . ">";
    echo "<br>";
    $pages = $count / $maxshow;
    if ($pages < 1)
    {
    $pages = 1;
    }
    if ($pages / (int) $pages <> 1)
    {
    $pages = (int) $pages + 1;
    }
    else
    {
    $pages = $pages;
    }
    $pagenow = ($show/$maxshow + 1);
    echo "Page " . $pagenow . " of " . $pages . "<br>";
    $next = $show + $maxshow;
    $previous = $show - $maxshow;
    if ($pages <> 1)
    {
    if ($previous < 0)
    {
    echo "<a href=" . $PHP_SELF . "?show=" . "$next" . ">";
    echo "<acronym title='Next " . $maxshow . " records'>>>></acronym></a> ||";
    }
    elseif ($next >= $count)
    {
    echo "<a href=" . $PHP_SELF . "?show=" . "$previous" . ">";
    echo "<acronym title='Previous " . $maxshow . " records'><<<</acronym></a> ||";
    }
    else
    {
    echo "<a href=" . $PHP_SELF . "?show=" . "$previous" . ">";
    echo "<acronym title='Previous " . $maxshow . " records'><<<</acronym></a>";
    echo " | ";
    echo "<a href=" . $PHP_SELF . "?show=" . "$next" . ">";
    echo "<acronym title='Next " . $maxshow . " records'>>>></acronym></a> ||";
    }
    }
    echo " Pages: ";
    $i = 0;
    while ($i < $pages)
    {
    $ri = $i + 1;
    $showpage = $i * $maxshow;
    echo "<a href=" . $PHP_SELF . "?show=" . $showpage . ">" . $ri . "</a> ";
    $i++;
    }
    ?>

    <p>
    (*) Required fields
    <form name='myGB' action=<? echo $PHP_SELF ?> method='post'>
    * Name:<br><input type='text' name='name' maxlength=20><br>
    Email:<br><input type='text' name='email' maxlength=20><br>
    * Message:<br><textarea name='message' rows=5 cols=30></textarea><br>
    <a href="javascript:checkForm()">Send</a>
    </form>
    </font>
    </div>
    </BODY>
    </HTML>
    DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

    More Content Management Code Articles
    More By Codewalkers

    blog comments powered by Disqus

    CONTENT MANAGEMENT CODE ARTICLES

    - V2 CMS - Content Management System
    - VSNS Lemon
    - Country List For Forms Using SQL
    - eggblog
    - Table generation class
    - STP Simple Template Parser
    - class Vision_To_Form_Elements
    - Cascade Drop Down
    - Cura - CMS
    - Syntax Desktop
    - 216 color table
    - Simple Mini Poll class library (SimPoll)
    - Regex Generator
    - Siteseed
    - Company WebSite Builder PRO


    © 2003-2012 by Developer Shed. All rights reserved. DS Cluster 2 - Follow our Sitemap