Buenas tardes foreros. Estoy trabajando en una aplicación para dejar comentarios (que podría parecerse al muro de facebook o al sistema de twitter para entendernos) y ya casi la tengo lista, solo me falta una funcion que permita a los usuarios votar (para bien o para mal) cada comentario
una unica vez.
Tengo para esto esta función:
Código PHP:
function votar() {
$link = conecta();
$user = $_SESSION['k_username'];
$votado = $_GET['id'];
$result = mysql_query("SELECT * FROM ip WHERE usuario = '$user' AND voted = '$votado'",$link) or die(mysql_error());//comprobamos si ya se ha votado
while($row = mysql_fetch_object($result)){
$votado = $row->voted;
$usuario = $row->usuario;
if($usuario !== true && $voted !== true){//si no hemos votado, votamos
$result = mysql_query("INSERT INTO ip (usuario,voted) VALUES ('$user','$votado')",$link) or die(mysql_error());
$id = $_GET['id'];
$k = $_GET['k'];
$key = mysql_query("SELECT * FROM `muro` WHERE `id` LIKE '".$id."'",$link) or die(mysql_error());
while($r = mysql_fetch_object($key)){
$num = $r->$k;
$resultado = $num+1;
$result = mysql_query("UPDATE muro SET ".$k." = '".$resultado."' WHERE id LIKE '".$id."'", $link) or die(mysql_error());
}
header("location: ".$_SERVER['HTTP_REFERER']);
}else{//en caso contrario volvemos sin hacer nada
header("location: ".$_SERVER['HTTP_REFERER']);
}
}
}
Que se ejecuta en un documento votar.php:
Código PHP:
<?php session_start(); include('funciones_muro.php'); include('../php/config.php');
votar();
?>
Y el enlace que aparece en cada mensaje es este:
Código PHP:
echo '<div><span style="color:greenyellow">';
echo'<a href="muro/votar.php?id='.$key.'&k=positivo"><img src="objetos/pos.gif"></a>';
echo $pos.'</span> || <span style="color:red">';
echo'<a href="muro/votar.php?id='.$key.'&k=neg"><img src="objetos/neg.gif"></a>';
echo $neg.'</span>';
Mi problema es que al hacer click en el enlace, la pagina votar.php se queda en blanco, es decir, ni ejecuta la consulta, ni ejecuta el header, ni hace nada(simplemente no responde). A qué se puede deber??
Gracias por adelantado