Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/01/2010, 09:05
Avatar de Aimarejada
Aimarejada
 
Fecha de Ingreso: abril-2006
Mensajes: 207
Antigüedad: 18 años
Puntos: 0
Respuesta: Problema con sistema de votación

Ok gracias.


Cuando le das a las estrellas para votar lo que hace es ir a la pagina db.php y le pasa unos valores por get como por ejemplo http://nombrepagina.com/index.php?pa...151.188.52&c=5

db lo que contiene es esto:

Código PHP:
<?php
header
("Cache-Control: no-cache");
header("Pragma: nocache");
require(
'_config-rating.php'); // get the db connection info

//getting the values
$vote_sent preg_replace("/[^0-9]/","",$_REQUEST['j']);
$id_sent preg_replace("/[^0-9a-zA-Z]/","",$_REQUEST['q']);
$ip_num preg_replace("/[^0-9\.]/","",$_REQUEST['t']);
$units preg_replace("/[^0-9]/","",$_REQUEST['c']);
$ip $_SERVER['REMOTE_ADDR'];
$referer  $_SERVER['HTTP_REFERER'];

if (
$vote_sent $units) die("Sorry, vote appears to be invalid."); // kill the script because normal users will never see this.

//connecting to the database to get some information
$query mysql_query("SELECT total_votes, total_value, used_ips FROM $rating_dbname.$rating_tableName WHERE id='$id_sent' ")or die(" Error: ".mysql_error());
$numbers mysql_fetch_assoc($query);
$checkIP unserialize($numbers['used_ips']);
$count $numbers['total_votes']; //how many votes total
$current_rating $numbers['total_value']; //total number of rating added together and stored
$sum $vote_sent+$current_rating// add together the current vote value and the total vote value
$tense = ($count==1) ? "vote" "votes"//plural form votes/vote

// checking to see if the first vote has been tallied
// or increment the current number of votes
($sum==$added=$added=$count+1);

// if it is an array i.e. already has entries the push in another value
((is_array($checkIP)) ? array_push($checkIP,$ip_num) : $checkIP=array($ip_num));
$insertip=serialize($checkIP);

//IP check when voting
$voted=mysql_num_rows(mysql_query("SELECT used_ips FROM $rating_dbname.$rating_tableName WHERE used_ips LIKE '%".$ip."%' AND id='".$id_sent."' "));
if(!
$voted) {     //if the user hasn't yet voted, then vote normally...


if (($vote_sent >= && $vote_sent <= $units) && ($ip == $ip_num)) { // keep votes within range
    
$update "UPDATE $rating_dbname.$rating_tableName SET total_votes='".$added."', total_value='".$sum."', used_ips='".$insertip."' WHERE id='$id_sent'";
    
$result mysql_query($update);        

header("Location: $referer"); // go back to the page we came from 
exit;
//end for the "if(!$voted)"
?>