Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guilherme Dorneles_56399

Problema com COOKIE

Recommended Posts

Estou com problemas na hora de votar nessa enquete não ta funcionando o sistema de COOKIE alguem sabe pq que meu banco de dados não esta funcionando com essa enquete em local hosta o COOKIE funciona

 

 

 

 

 

<?php

error_reporting(0);

$conn=mysql_connect('localhost', 'usuario', 'test') or die("Can't connect to mysql host");

 

mysql_select_db('banco') or die("Can't connect to DB");

if(!$_POST['poll'] || !$_POST['pollid']){

$query=mysql_query("SELECT id, ques FROM questions ORDER BY id DESC LIMIT 1");

while($row=mysql_fetch_assoc($query)){

 

echo "<p class=\"pollques\" >".$row['ques']."</p>";

$poll_id=$row['id'];

}

if($_GET["result"]==1 || $_COOKIE["voted".$poll_id]=='yes'){

 

showresults($poll_id);

exit;

}

else{

 

$query=mysql_query("SELECT id, value FROM options WHERE ques_id=$poll_id");

if(mysql_num_rows($query)){

echo '<div id="formcontainer" ><form method="post" id="pollform" action="'.$_SERVER['PHP_SELF'].'" >';

echo '<input type="hidden" name="pollid" value="'.$poll_id.'" />';

while($row=mysql_fetch_assoc($query)){

echo '<p><input type="radio" name="poll" value="'.$row['id'].'" id="option-'.$row['id'].'" />

<label for="option-'.$row['id'].'" >'.$row['value'].'</label></p>';

}

echo '<p><input type="submit" value=" Votar " /></p></form>';

echo '<p><a href="'.$_SERVER['PHP_SELF'].'?result=1" id="viewresult">Ver Resultado</a></p></div>';

}

}

}

else{

if($_COOKIE["voted".$_POST['pollid']]!='yes'){

 

 

$query=mysql_query("SELECT * FROM options WHERE id='".intval($_POST["poll"])."'");

if(mysql_num_rows($query)){

$query="INSERT INTO votes(option_id, voted_on, ip) VALUES('".$_POST["poll"]."', '".date('Y-m-d H:i:s')."', '".$_SERVER['REMOTE_ADDR']."')";

if(mysql_query($query))

{

 

setcookie("voted".$_POST['pollid'], 'yes', time()+86400*300);

}

else

echo "Houve algum erro ao processar a consulta: ".mysql_error();

}

}

showresults(intval($_POST['pollid']));

}

function showresults($poll_id){

global $conn;

$query=mysql_query("SELECT COUNT(*) as totalvotes FROM votes WHERE option_id IN(SELECT id FROM options WHERE ques_id='$poll_id')");

while($row=mysql_fetch_assoc($query))

$total=$row['totalvotes'];

$query=mysql_query("SELECT options.id, options.value, COUNT(*) as votes FROM votes, options WHERE votes.option_id=options.id AND votes.option_id IN(SELECT id FROM options WHERE ques_id='$poll_id') GROUP BY votes.option_id");

while($row=mysql_fetch_assoc($query)){

$percent=round(($row['votes']*100)/$total);

echo '<div class="option" >

<p>'.$row['value'].' (<em>'.$percent.'%, '.$row['votes'].' </em>votos)</p>

';

echo '<div class="bar ';

if($_POST['poll']==$row['id']) echo ' yourvote';

echo '" style="width: '.$percent.'%; " ></div></div>';

}

echo '<p>Total de Votos: '.$total.'</p>

';

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

trabalhar com cookie é muito complicado pois quando o site está online muitas vezes o navegador bloqueia o cookie, tente utilizar o IP do usuário para verificar a votação...

 

Guilherme sabemos que é novo no forum mas vai a dica...

procure usar os BBCodes do forum para postar códigos isso facilita para quem vai ajudar... :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.