Código PHP:
Ver original<?php
/*
MOD BY MARCOFBB, AUTOMATIZADO Y MEJORADO, CON SISTEMA DE PASS Y TODO :P
*/
$pass2 = "1"; // la pass para que nadie pueda crear ranking
$web = "www.tuweb.com.ar"; // tu web xD no es nesesario pero para que quede mas automatisado el script
//funcion para conectar con la base de datos
function conectar(){
// Conexión a la base de datos
$dbhost='localhost';
$dbusername='root'; //nombre del usuario
$dbuserpass='marco'; //password o contraseña del usuario
$dbname='rank';//nombre de la base de datos
return $link;
}
$id = $_GET['id'];//pagina, apartado o noticia que se quiere votar
if($id!=""){
$voto = $_GET['v'];//voto del usuario
$link = conectar();//conectamos a la base de datos
//obtenemos la IP del usuario
if ($_SERVER) {
if ( $_SERVER[HTTP_X_FORWARDED_FOR] ) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif ( $_SERVER["HTTP_CLIENT_IP"] ) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( "HTTP_X_FORWARDED_FOR" ) ) { $realip = getenv( "HTTP_X_FORWARDED_FOR" ); } elseif ( getenv( "HTTP_CLIENT_IP" ) ) { $realip = getenv( "HTTP_CLIENT_IP" ); } else {
$realip = getenv( "REMOTE_ADDR" ); }
}
//actualizamos la tabla de votos realizadas por los usuarios y borramos lo que sean del dia anterior
$result = mysql_query("DELETE FROM votos_usuarios WHERE dataCreate <> '".$fecha."'",$link);
//comprobamos que este usuario ya no haya realizado un voto (identificacion por IP)
$result = mysql_query("SELECT *FROM votos_usuarios WHERE ip = '".$realip."' and id = $id",$link);
//el usuario no ha votado para este apartado
if($row[0]==""){
$result = mysql_query("SELECT votos,media FROM rank WHERE id =$id",$link);
$auxmedia = $row[1];
$votos =$row[0] + 1;
$media = (($row[0] * $auxmedia) + $voto)/ $votos;
//actualizamos el voto
$result = mysql_query("UPDATE rank SET votos= $votos, media= $media WHERE id= $id",$link); mysql_query("INSERT INTO votos_usuarios(id,ip,dataCreate)VALUES($id,'".$realip."','".$fecha."')",$link); echo "voto realizado";
}else{ //el usuario ya ha votado para este apartado
echo "Usted ya ha votado";
}
}
?>
esta es la del rank.php
Código PHP:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejemplo Ranking CSS-Ajax-Php</title>
<link rel="stylesheet" type="text/css" href="rank/rank.css"/>
<script type="text/javascript" src="rank/rank.js"></script>
</head>
<body>
<?php
?>
<?php
include("rank/rank.php");
$link = conectar();
$result = mysql_query("SELECT id,votos,media FROM rank where id=$id2",$link); if($row){
echo '<div class="rank">';
echo '<ul>';
echo '<li class="current-rating" style="width:'.($row[2] * 25).'px;">Currently '.$row[2].'/5 Stars.</li>';
echo '<li><a href="javascript:sendDatos(\'rank/rank.php?id='.$row[0].'&v=1\',\'page'.$row[0].'\',true)" title="dar 1 estrella de 5" class="star-1">1</a></li>';
echo '<li><a href="javascript:sendDatos(\'rank/rank.php?id='.$row[0].'&v=2\',\'page'.$row[0].'\',true)" title="dar 2 estrellas de 5" class="star-2">2</a></li>';
echo '<li><a href="javascript:sendDatos(\'rank/rank.php?id='.$row[0].'&v=3\',\'page'.$row[0].'\',true)" title="dar 3 estrellas de 5" class="star-3">3</a></li>';
echo '<li><a href="javascript:sendDatos(\'rank/rank.php?id='.$row[0].'&v=4\',\'page'.$row[0].'\',true)" title="dar 4 estrellas de 5" class="star-4">4</a></li>';
echo '<li><a href="javascript:sendDatos(\'rank/rank.php?id='.$row[0].'&v=5\',\'page'.$row[0].'\',true)" title="dar 5 estrellas de 5" class="star-5">5</a></li>';
echo '</ul>';
echo 'Rated <strong>'.$row[2].'</strong>/5 estrellas ('.$row[1].' votos)';
echo '<span id="page'.$row[0].'" style="color:#ff0000;"></span>';
echo '</div>';
}
?>
</body>
</html>
y esta del index.php