WeberDev.com PHP and MySQL Code

LOG IN
BEGINNER GUIDES  |  PHP CLASSES  |  CODE SEARCH  |  ARTICLES SEARCH  |  PHP FORUMS  |  PHP MANUAL  |  PHP FUNCTIONS LIST  |  WEB SITE TEMPLATES
Start typing to search for PHP and MySQL Code Snippets and Articles Search
Submit a code Example / Snippet Submit Your Code
Search Engine Optimization Monitor SEO Monitor
Web Site UpTime Monitor UpTime Monitor
WeberDev's Monthly code contest PHP Code Contest
Your Personal Examples List My Favorite Examples
Your Personal Articles List My Favorite Articles
Edit Account Info Update Your Profile
PHP Code Search
Web Development Forums
Learn MySQL Playing Trivia
PHPBB2 Templates
Web Development Index
PHP Web Logs (BLogs)
Web Development Resources
Web Development Content
PHPClasses
PHP Editor
PHP Jobs
Vision.To Design
Ajax Tutorials
PHP Programming Help
PHP/MySQL Programming
Webmaster Resources
Webmaster Forum
XML meta language
website builder
Submit Site
Forex Trading Online forex trading platform

Go Back Add a Comment Send this example to a friend Add this Article to your personal favoritest for easy future access to your favorite Code Examples and Articles. Submit a code example Print this code example.
BACK ADD A COMMENT SEND TO A FRIEND ADD TO MY FAVORITES ADD CODE EXAMPLES PRINT
Title : Modification of Shane Caraveo's guestbook. Uses ODBC...some code modifications
Categories : ODBC, Databases, Complete Programs, PHP Click here to Update Your Picture
Brad Marsh
Date : Jan 17th 1999
Grade : Be the 1st to grade this Code Example
Viewed : 13699
File : No file for this code example.
Images : No Images for this code example.
Search : More code by Brad Marsh
Action : Grade This Code Example
Tools : My Examples List

  Submit your own code examples 
 

<?php require("guestbook-data.php3"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<!-- saved from url=(0040)http://px.sklar.com/code.html?code_id=50 -->
</COMMENT><HTML><HEAD>
<META content='"MSHTML 5.00.0910.1309"' name=GENERATOR>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
<BODY>

<?php
/*
*****************************************************************
PHP-mySQL GuestBook
                by Shane Caraveo (shane@caraveo.com)

DO NOT EMAIL ME ASKING HOW TO SET THIS UP!
        I do not support this script in any way. If you fix a bug,
        or add a cool feature, let me know.
                
        Use of this script means you recognize the fact that I am not
responsible if this script blows up your machine (or causes
any other problems).

feel free to use and abuse this script in whatever
        form or fashion you feel fit.

PHP-ODBC Guestbook modifications
by Brad Marsh (research4@snowcrest.net)

        In somefile.php you need to have the following code:

$user="shane"; // admin username
        $password="test"; // admin password
        $bookname="mybook"; // the name of the table within the mysql db
        $autodelete=0; //number of days before removal. 0 = disabled
$notify=0; //notify via email new postings 1=on 0=off
$email=""; //address to notify
        require("guestbook-data.php3");

        For the modified version, you need in guestbook-data.php3:
<?php

$user="name"; // admin username
$password="test"; // admin password
$bookname="book"; // the name of the table within the ODBC db
$autodelete=0; //number of days before removal. 0 = disabled
$notify=0; //notify via email new postings 1=on 0=off
$notify_email="yourname@yourISP.com"; //address to notify

?>

accessing your guestbook page with ?admin gets you the admin logon
which you use the above user and password to gain entry. The admin
page is identical to the regular guestbook page except that it lets
you delete entries.


mysql table info:

        create table <tablename>(
        id int not null auto_increment,
        posted int not null,
        name char(50) not null,
        email char(40),
        company char(40),
        message text,
        index (posted),
        index (id)
        )\g

ODBC database info (in my case it was Access - brad):
Don't forget to create a System DSN called "guestbook"!

Field name-Datatype-Field size
------------------------------------------
id-Autonumber-Primary key
posted-number-long integer
name-text-100
email-text-40
company-text-100
location-text-100
message-memo

******************************************************************
*/

//******************************************************************
//initialize database info
//******************************************************************
$server="127.0.0.1"; //database server address
$dbname="guestbook"; //ODBC DSN database name
$uid=""; // username for that database
$pwd=""; // password for that database

$maxmessagelength=1024; //set to 0 if you dont care how long it gets
//******************************************************************
//no need to edit below this line
//******************************************************************
//******************************************************************
//check to see if admin login requested
//******************************************************************
if($argv[0]=="admin"){ //show login form
?>

<div align='center'>
<form action="guestbook.php3" method="POST">
Login Name: <input type="Text" name="loginname">  
Password: <input type="Password" name="pword">  
<input type="Submit" value="Login">
</form>
</div>

<?php

//******************************************************************
}else{ //do guestbook

//******************************************************************
if (!$action) { // Don't show the link to sign the guestbook if they've already done it
?>
<a href="guestbook.php3#post">Sign the Guest Book</a><br>
<?php
}

//******************************************************************
// Connect to the database
$conn=odbc_connect($dbname,$uid,$pwd) or die( "Unable to connect to database" );

//******************************************************************
//if autodelete, delete old entries
//******************************************************************
if($autodelete){
        $sql="delete from $bookname where posted<".
                (time()-($autodelete * 86400));
        $result = odbc_exec($conn,$sql);
}

/* Are deleting an entry? */

if($d!=""){
        $sql="delete from $bookname where id=$d";
        if ($result = odbc_exec($conn,$sql)) {
                odbc_free_result($result);
        } else {
                echo "Oops. Failed to delete.<br>\n";
        }
}

//******************************************************************
//check to see if admin logged in
//******************************************************************
$isadmin=0;
if($loginname==$user && $pword==$password)$isadmin=1;

//******************************************************************
//Are posting a new entry?
//******************************************************************
if($action=="Submit"){

/* Over-write some variables from the postvars to be sure
they were at least done via post method. */

        $name=$email=$company=$message=$loginname=$pword="";
        while(list($header,$value)=each($HTTP_POST_VARS)){
                eval("$".$header."=\"$value\";");
        }

        if($maxmessagelength && strlen($message)>$maxmessagelength){
                echo("<p>Your message is too long, please click on your back ".
                        "button and shorten the message. Thank You!</p>\n");
        }elseif(strpos($email,"@")==false || strpos($email,".")==false){
                echo "<p>You submitted an invalid email address. Please click your back ".
"button and enter a valid email address (of the form \"your_username@your_ISP.com\").</p>\n";
        } else {
                if($name && $email && $company && $message){
                        $test = odbc_exec($conn,"select id from $bookname where (name='$name' and email='$email')");
                        if (odbc_fetch_row($test)==true) {
                                echo "Identical record found; updating...<br>\n";
                                $old_id = odbc_result($test,"id");
                                $sql="update $bookname set posted=".time().
                        
        ",name='$name',email='$email',company='$company',location='$location',message='$message' where id=$old_id";
                        }else{
                                $sql="insert into $bookname (posted,name,email,company,location,message) ".
                                "values (".time().",'".$name."', ".
                                "'".$email."', '".$company."', ".
                                "'".$location."', '".$message."')";
                        }
//echo "$sql<br>\n";

                        $result = odbc_exec($conn,$sql);
                        if(!$result){
                                echo("There was an error!");
                        }else{
                                echo('<center><b>Thank you for signing our guestbook!</b></center>');
                                //notify via email
                                if($notify){
                                        $emailmessage="Your guestbook has been signed:\n\n".
                                                "By: $name\nemail: $email\nCompany: $company\n".
                                                "Location: $location\nMessage:\n$message\n\n";
                                        //mail($notify_email,"Guestbook Notification",$emailmessage);
                                }
                        }
                }else{
?>
<p>You didn't fill in all the form variables, please click
on your browsers back button now, and complete the form.
Thank You!</p>
<?php
                }
        }
} // End of "if action" statement

//show guestbook entries
//******************************************************************
$sql="select * from $bookname order by posted desc";
if(($result = odbc_exec($conn,$sql))){
        $bzm = 1;
        while(odbc_fetch_row($result,$bzm)) {
                echo('<hr><p>');
                if($isadmin){ //
                        echo "<b>IS ADMINISTRATOR</b><br>\n";
?>

<form action="guestbook.php3" method="POST">
<input type="hidden" name="loginname" value="<?php echo($loginname);?>">
<input type="hidden" name="password" value="<?php echo($password);?>">
<input type="hidden" name="d" value="<?php echo odbc_result($result,"id"); ?>">
<input type="Submit" value="Delete"><br>

<?php                }

                echo "<table border='0'>\n";
                echo " <tr>\n <td align='right'>\n <b>Name:</b>\n </td>\n";
echo " <td>\n ".odbc_result($result,"name")."\n </td>\n </tr>\n";
                echo " <tr>\n <td align='right'>\n <b>Email:</b>\n </td>\n";
echo " <td>\n ".odbc_result($result,"email")."\n </td>\n </tr>\n";
                echo " <tr>\n <td align='right'>\n <b>Company:</b>\n </td>\n";
echo " <td>\n ".odbc_result($result,"company")."\n </td>\n </tr>\n";
                echo " <tr>\n <td align='right'>\n <b>Location:</b>\n </td>\n";
echo " <td>\n ".odbc_result($result,"location")."\n </td>\n </tr>\n";
                echo " <tr>\n <td align='right'>\n <b>Date:</b>\n </td>\n";
echo " <td>\n ".date("m-d-Y h:i a",odbc_result($result,"posted"))."\n </td>\n </tr>\n";
                echo " <tr>\n <td align='right'>\n <b>Message:</b>\n </td>\n";
echo " <td>\n ".odbc_result($result,"message")."\n </td>\n </tr>\n";
                echo "</table>\n";
                if($isadmin)echo('</form>');
                $bzm++;
        }
        odbc_free_result($result);
}else{
        echo("There was an error!");
}

//******************************************************************
//shutdown database connection
//******************************************************************
odbc_close_all();

if ($action != "Submit") {

?>
<hr>
<a name="post"><b>Please sign our Guest Book</b></a>
<form action="guestbook.php3" method="POST">
<table border='0'>
<tr valign='top'>
<td align='right'>
<br>Name:
</td>
<td>
<br><input type="Text" name="name" size="40" maxlength="100">
</td>
<td rowspan='4'>
Message:<br>
<textarea name="message" cols="40" rows="10" wrap="PHYSICAL"></textarea><br>
</td>
</tr>
<tr>
<td align='right'>
<br>Email:
</td>
<td>
<br><input type="Text" name="email" size="40" maxlength="40">
</td>
</tr>
<tr>
<td align='right'>
<br>Company:
</td>
<td>
<br><input type="Text" name="company" size="40" maxlength="100">
</td>
</tr>
<tr>
<td align='right'>
<br>Geographic<br>Location:
</td>
<td>
<br><input type="Text" name="location" size="40" maxlength="100">
</td>
</tr>
<tr>
<td></td>
<td>
We ask location because we're curious.<br>
Please put down your city, county, state,<br>province, country and/or continent. Thanks!
</td>
<td align='center'>
<input type="Submit" name="action" value="Submit">
<input type="reset">
</td>
</tr>
</table>
</form>
<hr>
<?php
}
//******************************************************************
} //end guestbook
//******************************************************************
//phpinfo();
?>

</BODY>
</HTML>



A set of functions sitting on top of the abstraction layer that makes it a little easier to do SQL stuff. Documentation is within
Categories : Databases, ODBC, Complete Programs, PHP
This program allows you to upload an ODBC ressource - i.e. an MS-Access database to a MySQL server.
Categories : Databases, MySQL, Complete Programs, PHP, Databases
Dynamic WHERE CLAUSE depending on number of FORM FIELDS
Categories : ODBC, General SQL, PHP, Complete Programs, Databases
Point and Click Interface ala MS Access for creating SQL statements.
Categories : MySQL, Complete Programs, General SQL, PHP, Databases
Accepts a database & hostname from a user and then HTTP username and password. Uses this to connect to a MySQL database. Produces a form based on the tables it finds there to allow the user to do SELECTs, INSERTs, and DELETEs.
Categories : Databases, PHP, MySQL, Complete Programs
Tropicalm Genetree Family (MySQL based family tree)
Categories : PHP, Interfaces, Databases, MySQL, Complete Programs
phpAds, a complete banner and ad management system with detailled tracking and stats.
Categories : MySQL, Complete Programs, Ecommerce, PHP, Databases
Shopping Basket On-Line Ordering System.
Categories : Complete Programs, MySQL, PHP, Ecommerce, Databases
Example voting script. Lets people enter suggestions and vote for existing ones.
Categories : MySQL, PHP, Cookies, Complete Programs, Databases
Logs hits to any page which includes it. Automatically utilises page access information left behind by PHP/FI2.0.
Categories : Databases, PHP, mSQL, Databases
Simple Mini Poll class library (SimPoll)
Categories : PHP, PHP Classes, Databases, MySQL, Complete Programs
Browse a MySQL database & draw a tree view & load final items into a template page.
Categories : MySQL, Complete Programs, Algorithms, PHP, Databases
free, search engine, indexing, system, information, web, ftp, http, free, software, cgi, php, MySQL, database, php3, FreeBSD, Linux, Unix, UdmSearch
Categories : MySQL, Complete Programs, PHP, Databases, Search
Shopping Cart e-Commerce Solution
Categories : Complete Programs, PHP, MySQL, Databases
DBE - Database Expander: Edit PostgreSQL individual database tables online via your Web browser!
Categories : PostgreSQL, Complete Programs, Databases, PHP Classes, PHP