Aprovechando la oportunidad de un usuario que tenia un problemita con este script, lo he modificado para él y para muchos que deseen usar.
Y tambien esta la fuente de demostracion y si quieren para descargar.
La conexion
Ahora viene la parte mas tediosa, pero una vez ordenado y comentado queda mucho mas facil leer. El codigo completo
Habia muchas variables que faltaban, como ser:
Y el setcookie estaba incorrecto, la manera es de esta forma:
Y tambien faltaban cerrar muchas comillas simples o dobles
Espero que te funcione!, y para todos los que deseen descargar el codigo completo les dejo.
Codigo completo
http://pablodelrio.zzl.org/votaciones/votaciones.zip
Demostracion
http://pablodelrio.zzl.org/votaciones/
Espero que puedan hacer correr y que les funcione
Cualquier caso estoy a las ordenes
Y tambien esta la fuente de demostracion y si quieren para descargar.
La conexion
<?php
/* Crear una conexion a la base de datos con PHP */
# Hay muchas maneras de crear una conexion a la base de datos para su posterior llamado para nuestras funciones o paginas.
# Aqui veremos, la mas simple, crear apartir de variables. Pero como dije, hay muchas maneras.
// Definimos las variables
$host_pruebas = "localhost"; // Es donde tu servidor reside, osea en tu maquina
$data_pruebas = "votaciones"; // Es donde haremos las consultas, la base de datos
$user_pruebas = "usuario"; // El usuario que maneja la base de datos
$password_pruebas = "lacontraseña"; // La contraseña de la base de datos
// Ahora creamos, la consulta para conectarnos
// Tip: Acuerdense que sin las comillas simples o dobles
$pruebas = mysql_connect($host_pruebas, $user_pruebas, $password_pruebas) or trigger_error(mysql_error(), E_USER_ERROR);
// Seleccionamos la base de datos y ponemos un mensaje
// Pero para usar, debemos quitar el mensaje
mysql_select_db($data_pruebas, $pruebas);
?>Ahora viene la parte mas tediosa, pero una vez ordenado y comentado queda mucho mas facil leer. El codigo completo
<?php
#------- Incluyendo la configuracion de la base de datos
include "crearCX.php";
#------- Trayendo todos datos de la base de datos
$data = mysql_query("SELECT * FROM vote") or die(mysql_error());
#------- Ahora, a hacer el bucle
while($ratings = mysql_fetch_array( $data ))
{
#------- Insertando el nombre
echo "<b>Video / Pelicula </b>: " .$ratings['name']."<br>";
#------- Calcular los ratings
$current = $ratings['total'] / $ratings['votes'];
echo "<i>Votos actuales</i>: " . round($current, 2) . "<br>";
#------- Crear los links para votar
echo "VOTAME! : ";
echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=1&id=".$ratings['id'].">Votar Opcion #1</a> | ";
echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=2&id=".$ratings['id'].">Votar Opcion #2</a> | ";
echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=3&id=".$ratings['id'].">Votar Opcion #3</a> | ";
echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=4&id=".$ratings['id'].">Votar Opcion #4</a> | ";
echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=5&id=".$ratings['id'].">Votar Opcion #5</a> | ";
#------- Divisorias
echo "<hr>";
#------- Fin del bucle
}
#------- Creando las variables y comenzando a preguntar al usuario si ya voto
if(isset($_GET["mode"]))
{
# Es aqui, que tenemos que crearle las variables para que funcione.
$mode=$_GET["mode"];
$voted = $_GET[voted];
$id = $_GET[id];
# Alertas
$yavotaste = "Disculpanos, pero ya votaste<p>";
$gracias = "Gracias por tu Voto<p>";
#------- Si ya votamos, NO se nos permite mas votar
if(isset($_COOKIE[$cookie]))
{
echo $yavotaste;
}
else
{
$month = 2592000 + time();
$cookie= "Mysite$id"; // Quitamos ciertos valores como ser, mes y otros datos
#------- Insertando y actualizamos la base de datos
mysql_query ("UPDATE vote SET total = total+".$voted.", votes = votes+1 WHERE id = ".$id."");
echo $gracias ;
}
}
?>Habia muchas variables que faltaban, como ser:
# Es aqui, que tenemos que crearle las variables para que funcione.
$mode=$_GET["mode"];
$voted = $_GET[voted];
$id = $_GET[id];Y el setcookie estaba incorrecto, la manera es de esta forma:
else
{
$month = 2592000 + time();
$cookie= "Mysite$id"; // Quitamos ciertos valores como ser, mes y otros datosY tambien faltaban cerrar muchas comillas simples o dobles
mysql_query ("UPDATE vote SET total = total+".$voted.", votes = votes+1 WHERE id = ".$id."");Espero que te funcione!, y para todos los que deseen descargar el codigo completo les dejo.
Codigo completo
http://pablodelrio.zzl.org/votaciones/votaciones.zip
Demostracion
http://pablodelrio.zzl.org/votaciones/
Espero que puedan hacer correr y que les funcione
Cualquier caso estoy a las ordenes