One of the simplest and most popular add-ons to a Web site is anonline poll, allowing visitors to vote on hot-button issues. In thisarticle, find out how PHP can be used to build a powerful, good-lookingonline poll for your Web site, and also learn a little bit about its imageand cookie manipulation functions.
Once the form is submitted, "vote.php" takes over to process the vote. This script first checks to ensure that the form has been correctly submitted, by verifying the presence of the $submit and $response variables
<?
// vote.php - record votes
// check to ensure that the form has been submitted
if (!$submit || !$response)
{
?>
<html>
<head>
<basefont face="Arial">
</head>
<body bgcolor="white">
<i>Error! Please <a href=start.php>try again</a></i>
<?
}
else
{
// vote processing code
}
?>
and, assuming that all is well, updates the database to
reflect the new vote and displays an appropriate message.
<?
// vote.php - record vote
// check to ensure that the form has been submitted
if (!$submit || !$response)
{
// error message
}
else
{
// all is well - process the vote
?>
<html>
<head>
<basefont face="Arial">
</head>
<body bgcolor="white">
<?
// includes
include("config.php");
include("common.php");
// connect and update table
$connection = mysql_connect($hostname, $user, $pass) or die ("Unable to
connect!");
$fieldname = "votes" . $response;
$query = "UPDATE $table SET $fieldname = $fieldname+1 WHERE id = $id";
$result = mysql_db_query($database, $query, $connection) or die ("Could not
execute query: $query. " . mysql_error());
// query successful,display status message...
if ($result)
{
echo "Thank you for voting. Here are the results so far:<p>";
// code to display results - keep reading!
}
// or error in query - display error message
else
{
echo "<i>Error! Please <a href=start.php>try again</a></i>";
}
// close connection
mysql_close($connection);
}
?>
</body>
</html>
As you can see, the value of the $response variable is
used to determine which option field is updated with the user's vote.
This article copyright Melonfire 2001. All rights reserved.