Я нашел этот скрипт на about.com, о котором я пытаюсь узнать, о том, как создать рейтинговую систему, но сценарий по какой-то причине не будет считать голосование при щелчке ссылки и просто перезагружает страницу.Проблема с подсчетом голосов PHP и MySQL?
Мне было интересно, как я могу исправить эту проблему? И какую часть кода мне нужно изменить и где?
Вот полный сценарий ниже.
<?php
// Connects to your Database
mysql_connect("localhost", "root", "", "sitename") or die(mysql_error());
mysql_select_db("sitename") or die(mysql_error());
//We only run this code if the user has just clicked a voting link
if ($mode=="vote") {
//If the user has already voted on the particular thing, we do not allow them to vote again $cookie = "Mysite$id";
if(isset($_COOKIE[$cookie])) {
echo "Sorry You have already ranked that site <p>";
} else {
//Otherwise, we set a cooking telling us they have now voted
$month = 2592000 + time();
setcookie(Mysite.$id, Voted, $month);
//Then we update the voting information by adding 1 to the total votes and adding their vote (1,2,3,etc) to the total rating
mysql_query ("UPDATE vote SET total = total+$voted, votes = votes+1 WHERE id = $id");
echo "Your vote has been cast <p>";
}
}
//Puts SQL Data into an array
$data = mysql_query("SELECT * FROM vote") or die(mysql_error());
//Now we loop through all the data
while($ratings = mysql_fetch_array($data)) {
//This outputs the sites name
echo "Name: " .$ratings['name']."<br>";
//This calculates the sites ranking and then outputs it - rounded to 1 decimal
if($ratings['total'] > 0 && $ratings['votes'] > 0) {
$current = $ratings['total']/$ratings['votes'];
} else {
$current = 0;
}
echo "Current Rating: " . round($current, 1) . "<br>";
//This creates 5 links to vote a 1, 2, 3, 4, or 5 rating for each particular item
echo "Rank Me: ";
echo "<a href=?mode=vote&voted=1&id=".$ratings['id'].">Vote 1</a> | ";
echo "<a href=?mode=vote&voted=2&id=".$ratings['id'].">Vote 2</a> | ";
echo "<a href=?mode=vote&voted=3&id=".$ratings['id'].">Vote 3</a> | ";
echo "<a href=?mode=vote&voted=4&id=".$ratings['id'].">Vote 4</a> | ";
echo "<a href=?mode=vote&voted=5&id=".$ratings['id'].">Vote 5</a><p>";
}
?>
Вы получаете голос вниз за злоупотребление этого сайта, вы уже вставили этот код один раз, за час до вы создали этот вопрос. Если вы хотите изменить некоторые детали своего вопроса, отредактируйте исходный вопрос, НЕ спрашивайте нового, вы просто повторяетесь. – TravisO