In this project, you will create a Web page that allows visitors to your site to sign a guest book that is saved to a database.
1. Create a new document in your text editor and type the
declaration,
element, document head, and
element. Use the strict DTD and "Guest Book" as the
content of the
element.
2. Add the following text and elements to the document body:
Enter your name to sign our guest book
3. Save the document as
GuestBook.html
in the Projects
directory for Chapter 8.
4. Create a new document in your text editor and type the
declaration,
element, document head, and
element. Use the strict DTD and "Sign Guest Book" as the content of the
element.
5. Add the following script section to the document body:
?>
6. Add the following statements to the script section to ensure that visitors enter their first and last names:
if (empty($_POST['fi
rst_name']) || empty($_
POST['last_name']))
echo "
You must enter your fi
rst and last
name! Click your browser's Back button to
return to the Guest Book form.
";
7. Add the following statement to the script section to connect to the database. Replace Host with the host name of your MySQL server, and
User and password with the MySQL user name and password you created in Chapter 7.
else {
$DBConnect = @mysql_connect("
host
", "
user
",
"
password
");
if ($DBConnect === FALSE)
echo "
Unable to connect to the database
server.
"
. "Error code " . mysql_errno()
. ": " . mysql_error() . "
";
8. Add the following statements to the end of the script section to create a database named Guestbook if it does not already exist:
else {
$DBName = "guestbook";
if (!@mysql_select_db($DBName, $DBConnect)) {
$SQLstring = "CREATE DATABASE $DBName";
$QueryResult = @mysql_query($SQLstring,
$DBConnect);
if ($QueryResult === FALSE)
echo "
Unable to execute the
query.
"
. "Error code " . mysql_
errno($DBConnect)
. ": " . mysql_error($DBConnect)
. "
";
else
echo "You are the first visitor!
";
}
mysql_select_db($DBName, $DBConnect);
9. Add the following statements to the end of the script section to create a table named Count if it does not already exist. The table consists of a single auto-incrementing primary key field named countID
$TableName = "visitors";
$SQLstring = "SHOW TABLES LIKE '$TableName'";
$QueryResult = @mysql_query($SQLstring, $DBConnect);
if (mysql_num_rows($QueryResult) == 0) {
$SQLstring = "CREATE TABLE $TableName
(countID SMALLINT
NOT NULL AUTO_INCREMENT PRIMARY KEY,
last_name VARCHAR(40), fi
rst_name VARCHAR(40))";
$QueryResult = @mysql_query($SQLstring,
$DBConnect);
if ($QueryResult
===
FALSE)
echo "
Unable to create the table.
"
. "Error code " . mysql_
errno($DBConnect)
. ": " . mysql_error($DBConnect) .
"
";
else
echo "You are the first visitor!
";
}
mysql_select_db($DBName, $DBConnect);
10. Add the following statements to the end of the script section to create a table named Count if it does not already exist. The table consists of a single auto-incrementing primary key field named counted .
$TableName = "visitors";
$SQLstring = "SHOW TABLES LIKE '$TableName'";
$QueryResult = @mysql_query($SQLstring, $DBConnect);
if (mysql_num_rows($QueryResult) == 0) {
$SQLstring = "CREATE TABLE $TableName
(countID SMALLINT
NOT NULL AUTO_INCREMENT PRIMARY KEY,
last_name VARCHAR(40), fi
rst_name VARCHAR(40))";
$QueryResult = @mysql_query($SQLstring,
$DBConnect);
if ($QueryResult
===
FALSE)
echo "
Unable to create the table.
"
. "Error code " . mysql_
errno($DBConnect)
. ": " . mysql_error($DBConnect) .
"
";
11. Finally, add the following statements to the end of the script section. These mysql_query() statements add the visitor to the database. The last statement closes the database connection.
$LastName = stripslashes($_
POST['last_name']);
$FirstName = stripslashes($_
POST['fi
rst_name']);
$SQLstring = "INSERT INTO $TableName
VALUES(NULL, '$LastName',
'$FirstName')";
$QueryResult = @mysql_
query($SQLstring, $DBConnect);
if ($QueryResult === FALSE)
echo "
Unable to execute the query.
"
. "Error code " . mysql_
errno($DBConnect)
. ": " . mysql_
error($DBConnect) . "
";
else
echo "Thank you for signing our guest book!
";
}
mysql_close($DBConnect);
}
}
12. Save the document as SignGuestBook.php in the Projects directory for Chapter 8. Upload both SignGuestBook.php and GuestBook.html to the server.
13. Open GuestBook.html in your Web browser by entering the following URL:
https:///PHP_Projects/
Chapter.08/Projects/GuestBook.html
Test the form to see if you can add your name to the database.
14. Close your Web browser window.
Create a Web page to be used for storing software development bug reports in a MySQL database. Include fields such as product name and version, type of hardware, operating system, frequency of occurrence, and proposed solutions. Include links on the main page that allow you to create a new bug report and update an existing bug
report.