When I click rate, it just flips to a blank page. That must mean that some of the rating functions aren't working...can you find a problem with this script?
<?php
include 'db.php';
$get_item = "select id, layout_title, layout_image, layout_create_time, series_id, author_id, server_id from layout_items where id = {$_GET[item_id]}";
$get_item_res = mysql_query($get_item) or die (mysql_error());
if (mysql_num_rows($get_item_res) < 1)
{
print "Invalid Item Selection.";
}
else { list($item_id,$layout_title,$layout_image,$layout_create_time,$series_id,$author_id,$server_id) = mysql_fetch_row($get_item_res);
$get_server = "select address from layout_servers where server_id = $server_id";
$get_server_res = mysql_query($get_server);
$server = mysql_result($get_server_res,0,'address');
$get_series = "select series from layout_series where series_id = $series_id";
$get_series_res = mysql_query($get_series);
$series = mysql_result($get_series_res,0,'series');
$get_category = "select cat_title from layout_categories where id = $_GET[cat_id]";
$get_cat_res = mysql_query($get_category);
$category = mysql_result($get_cat_res,0,'cat_title');
print "$layout_title<br>\n";
print "<img src='$server/$layout_image'><br>\n";
print "Created on $layout_create_time<br>\n";
print "Series: $series<br>\n";
print "Type: $category<br>\n";
?>
Rating:
<?php
// Select the average rating from the rate tables for this item
$newquery = "SELECT avgrate from rate where id='$item_id' ";
$newresult = mysql_query($newquery);
if (mysql_num_rows($newresult) < 1)
{
echo "0.00";
}
else {
while ($newrow = mysql_fetch_array($newresult))
{
$avg_rate = $newrow["avgrate"];
echo "$avg_rate";
}
}
?>
<?
if (!isset($mode))
{
$mode = 'index';
}
switch($mode) {
case 'rate':
if(isset($_COOKIE['VOTED']))
{
echo "You may only vote once.";
} else {
$query = "SELECT * from rate where id='$_GET[item_id]' ";
$result = mysql_query($query);
while ($row=mysql_fetch_array($result))
{
$rateid = $row["rateid"];
$itemid = $row["id"];
$totalcount = $row["totalcount"];
$totalsum = $row["totalsum"];
// compute new total ratings
$totalsum = $totalsum + $rateitem;
// Increment total count by 1 since 1 more user rate item
$totalcount = ++$totalcount;
// Compute new average, take note of division by zero error
$newavg = $totalsum / $totalcount;
// round new average to 2 dec place.
$newavg = round($newavg,2);
// Now update rating table with new values.
$newquery = "UPDATE rate set avgrate = '$newavg', totalsum='$totalsum', totalcount='$totalcount'
where id='$_GET[item_id]' ";
$newresult = mysql_query($newquery);
if ($newresult)
{
echo "hey, you voted!";
}
}
}
mysql_free_result($result);
break;
case 'index':
?>
<form action="showitem.php?mode=rate&cat_id=<?=$_GET['cat_id']?>&item_id=<?=$_GET['item_id']?>" method="post">
<SELECT name="rateitem" >
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select><input type="submit" value="Rate"></form>
<?php
break;
}
}
?>