Guest - Carlos - Postado Fevereiro 4, 2004 Denunciar Share Postado Fevereiro 4, 2004 oi galera.alguém poderia me ajudar , pegou um enquete pronto, no script brasil , mas ele mostra o resultado parcial , ,tudo ok..eu gostaria de deixar que uma pessoa somente pudesse votar uma vez,e também de mostrar a quantidade de pessoas que votaram será que teria como ???Att:Carlos <?//alterado por Gladiador//designer e algumas funcionalidades?><HTML><HEAD><TITLE>Enquete</TITLE></head><body topmargin="0"> <LINK REL="StyleSheet" HREF="style.css" TYPE="text/css"> <center><table width="207" border="0" align="center" cellpadding="0" cellspacing="1"> <tr> <td width="205" height="18" align="center" valign="middle" background="enquete/b1.jpg" bgcolor="#FFFFFF"><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>ENQUETE</strong></font></td> </tr> <tr> <td bgcolor="#EEEEEE"> <div align="center"> <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><strong></strong></font><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">K 6 acham do Site <br> PHPCódigo Aberto</font> </strong> <form name="enquete" method="post" action="enquete/enquete_resultado.php" > <table width="400%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="radio" name="escolha" value="1"> 1 - Ótimo</font></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="radio" name="escolha" value="2"> 2 - Bom</font></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="radio" name="escolha" value="3"> 3 - Regular</font></td> </table><br> <input type="submit" name="Submit" value=">>Votar"> <input type="submit" name="Submit" value=">> Parcial "> <input type="hidden" name="arq" value="enquete_portal.txt"> <input name="opcoes" type="hidden" id="opcoes" value="3"> </form> </div></td> </tr></table> <table width="208" height="18" border="0" align="center" cellpadding="0" cellspacing="1"> <tr> <td width="206" height="18" align="center" valign="middle" background="enquete/b2.jpg" bgcolor="#FFFFFF"></td> </tr></table><p> </p></body></html>------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<?//Alterado por Gladiador//Designer e algumas funcionalidades?><html><head><title>enquete</title></head><body topmargin="0"> <LINK REL="StyleSheet" HREF="style.css" TYPE="text/css"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Resultado Parcial <br> PHPCódigo Aberto</font></strong></td> </tr><tr> <td align="center"> <br></td> </tr> <tr> <td align="center"><img src="star.gif" width="15" height="14"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Ótimo <img src="star2.gif" width="15" height="14"> Bom <br> <img src="star3.gif" width="15" height="14"></strong></font><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Regular</font></strong><br></td> </tr></table><br><table width="222" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="220"><img src="b1.jpg" width="220" height="18"></td> </tr></table><table width="219" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000"> <tr> <td width="213"> <? $file=$arq; if (!file_exists($file)){ // cria se o arquivo que grava os valores ainda não existe $f = fopen($file,'w+'); fputs($f,substr(str_repeat("0-", $opcoes),0,-1)); // grava os valores iniciais como 0 sem o ultimo - fclose($f); } $f = file($file); // Ler o arquivo inteiro e poe em uma array $voto = explode("-", $f[0]); // explode somente a 1a. linha pertenccente a array 0 $voto[$escolha-1] = $voto[$escolha-1] +1; // soma o voto ao valor q encontra-se armazenado // Monta a forma de gravacao do votos ate o momento dependendo de $opcoes for ($i = 0; $i < $opcoes; $i++) { $acumulado .= $voto[$i].'-'; //monta a sequencia para gravacao Ex.: 1-2-3-9 $tl_votos += $voto[$i]; // Soma o total de votos entre todos para mostrar gráfico } // Mostra o gráfico for ($i = 0; $i < $opcoes; $i++) { if ($tl_votos != 0) $percentual = round($voto[$i]*100/$tl_votos); echo ($i+1).': <img src="'.$i.'.gif" height=13 width ='.$percentual*2 .' > '.$percentual.'%<br>'; // mostra a barra com percentual } $acumulado = substr($acumulado,0,-1); // Grava os valores somados $f = fopen($file,'w+'); fputs($f,$acumulado); fclose($f);?> </td> </tr></table><table width="222" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="220"><img src="b2.jpg" width="220" height="19"></td> </tr></table><div align="center"><BR><CENTER> <a href="../enquete.php">RETORNAR</A> </div></body></html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gladisson Postado Fevereiro 4, 2004 Denunciar Share Postado Fevereiro 4, 2004 Está variavel retorna o número geral de votantes "$tl_votos", agora para você impedir para que não se vote uma vez a mais você pode gravar em "cookies" setado para o tempo desejado ai faça uma condição para variavél do cookie, se você não souber utilizar o cookie poste que alguém ou eu te ajudaremos. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 4, 2004 Denunciar Share Postado Fevereiro 4, 2004 não sei fazer cookies, isso seria que cada usuario pudesse votar uma vez ..certo ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Fevereiro 4, 2004 Denunciar Share Postado Fevereiro 4, 2004 isso!eu não vi bem seu código, mas seria assim a implementação do cookie:if(!$cookieenq) {$ip = getenv("Remote_Addr");setcookie('cookieenq',$ip, time()+600);..comando que adiciona o voto...} else {echo "você já votou";}sendo que o time()+600 significa que o cookie irá expirar em 10min. e depois desse tempo o usuário vai poder votar novamente. você pode mudar esse tempo pra quanto quiser.qualquer coisa posta ai! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 4, 2004 Denunciar Share Postado Fevereiro 4, 2004 Muito obrigado Luciano..... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 4, 2004 Denunciar Share Postado Fevereiro 4, 2004 olha eu fiz o seguinte: <? if(!$cookieenq){ $ip=getenv("REMOTE_ADDR"); setcookie('cookieenq',$ip,time()+600); $tl_votos; }else{ echo ("vc "); } $file=$arq; if (!file_exists($file)){ // cria se o arquivo que grava os valores ainda não existe $f = fopen($file,'w+'); fputs($f,substr(str_repeat("0-", $opcoes),0,-1)); // grava os valores iniciais como 0 sem o ultimo - fclose($f); } $f = file($file); // Ler o arquivo inteiro e poe em uma array $voto = explode("-", $f[0]); // explode somente a 1a. linha pertenccente a array 0 $voto[$escolha-1] = $voto[$escolha-1] +1; // soma o voto ao valor q encontra-se armazenado // Monta a forma de gravacao do votos ate o momento dependendo de $opcoes for ($i = 0; $i < $opcoes; $i++) { $acumulado .= $voto[$i].'-'; //monta a sequencia para gravacao Ex.: 1-2-3-9 $tl_votos += $voto[$i]; // Soma o total de votos entre todos para mostrar gráfico } // Mostra o gráfico for ($i = 0; $i < $opcoes; $i++) { if ($tl_votos != 0) $percentual = round($voto[$i]*100/$tl_votos); echo ($i+1).': <img src="'.$i.'.gif" height=13 width ='.$percentual*2 .' > '.$percentual.'%<br>'; // mostra a barra com percentual } $acumulado = substr($acumulado,0,-1); // Grava os valores somados $f = fopen($file,'w+'); fputs($f,$acumulado); fclose($f); ?>e casou este erro .Warning: Cannot modify header information - headers already sent by (output started at /usr/home/bellotti/public_html/enquetes/enquete/enquete_resultado.php:15) in /usr/home/bellotti/public_html/enquetes/enquete/enquete_resultado.php on line 38o que esta causando este erro ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 5, 2004 Denunciar Share Postado Fevereiro 5, 2004 que há de errado ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mauricio Postado Fevereiro 5, 2004 Denunciar Share Postado Fevereiro 5, 2004 linha 38 é essa???fclose($f); ???tentafclose;ouclose;ouclose ($f); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Fevereiro 5, 2004 Denunciar Share Postado Fevereiro 5, 2004 quanto ao erro não sei bem, mas você fez o contrário do que eu te disse:<?if(!$cookieenq){$ip=getenv("REMOTE_ADDR");setcookie('cookieenq',$ip,time()+600);...isso significa que o cookie ainda não foi criado e portanto o usuário não votou, então aqui você tem que por o código que aumenta um voto pra opção da enquete e no else colocar o $tl_votos. senão o usuário só vai poder votar depois que o cookie foi criado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 5, 2004 Denunciar Share Postado Fevereiro 5, 2004 Seria assim ..não entendi muito bem ..(sou meio burrinho em php )<?if(!$cookieenq){$ip=getenv("REMOTE_ADDR");setcookie('cookieenq',$ip,time()+600);aqui vai oque }else{echo ("$tl_votos");} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Fevereiro 5, 2004 Denunciar Share Postado Fevereiro 5, 2004 no lugar que você colocou aqui vai o q, você coloca o comando que soma o voto...os selects sql e td mais você pode colocar antes dessa verificação do cookie, a única coisa mesmo que você tem que por nessa verificação é se vai adicionar um voto ou se só vai mostrar o resultado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 5, 2004 Denunciar Share Postado Fevereiro 5, 2004 <?if(!$cookieenq){$ip=getenv("REMOTE_ADDR");setcookie('cookieenq',$ip,time()+600);$voto;}else{echo ("$tl_votos");} ...assim esta certo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 5, 2004 Denunciar Share Postado Fevereiro 5, 2004 olha o porque esta certo não é? ..$voto[$escolha-1] = $voto[$escolha-1] +1; // soma o voto ao valor q encontra-se armazenado ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nerdao Postado Fevereiro 5, 2004 Denunciar Share Postado Fevereiro 5, 2004 ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Carlos -
oi galera.
alguém poderia me ajudar , pegou um enquete pronto, no script brasil , mas ele mostra o resultado parcial , ,tudo ok..
eu gostaria de deixar que uma pessoa somente pudesse votar uma vez,
e também de mostrar a quantidade de pessoas que votaram será que teria como ???
Att:Carlos
<?
//alterado por Gladiador
//designer e algumas funcionalidades
?>
<HTML>
<HEAD>
<TITLE>Enquete</TITLE>
</head>
<body topmargin="0">
<LINK REL="StyleSheet" HREF="style.css" TYPE="text/css">
<center>
<table width="207" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td width="205" height="18" align="center" valign="middle" background="enquete/b1.jpg" bgcolor="#FFFFFF"><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>ENQUETE</strong></font></td>
</tr>
<tr>
<td bgcolor="#EEEEEE">
<div align="center">
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><strong></strong></font><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">K
6 acham do Site <br>
PHPCódigo Aberto</font> </strong>
<form name="enquete" method="post" action="enquete/enquete_resultado.php" >
<table width="400%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="radio" name="escolha" value="1">
1 - Ótimo</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="radio" name="escolha" value="2">
2 - Bom</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="radio" name="escolha" value="3">
3 - Regular</font></td>
</table><br>
<input type="submit" name="Submit" value=">>Votar">
<input type="submit" name="Submit" value=">> Parcial ">
<input type="hidden" name="arq" value="enquete_portal.txt">
<input name="opcoes" type="hidden" id="opcoes" value="3">
</form>
</div></td>
</tr>
</table>
<table width="208" height="18" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td width="206" height="18" align="center" valign="middle" background="enquete/b2.jpg" bgcolor="#FFFFFF"></td>
</tr>
</table>
<p> </p>
</body>
</html>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<?
//Alterado por Gladiador
//Designer e algumas funcionalidades
?>
<html>
<head>
<title>enquete</title>
</head>
<body topmargin="0">
<LINK REL="StyleSheet" HREF="style.css" TYPE="text/css">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Resultado
Parcial <br>
PHPCódigo Aberto</font></strong></td>
</tr>
<tr>
<td align="center">
<br></td>
</tr>
<tr>
<td align="center"><img src="star.gif" width="15" height="14"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Ótimo <img src="star2.gif" width="15" height="14">
Bom <br>
<img src="star3.gif" width="15" height="14"></strong></font><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Regular</font></strong><br></td>
</tr>
</table><br>
<table width="222" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="220"><img src="b1.jpg" width="220" height="18"></td>
</tr>
</table>
<table width="219" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td width="213">
<?
$file=$arq;
if (!file_exists($file)){ // cria se o arquivo que grava os valores ainda não existe
$f = fopen($file,'w+');
fputs($f,substr(str_repeat("0-", $opcoes),0,-1)); // grava os valores iniciais como 0 sem o ultimo -
fclose($f);
}
$f = file($file); // Ler o arquivo inteiro e poe em uma array
$voto = explode("-", $f[0]); // explode somente a 1a. linha pertenccente a array 0
$voto[$escolha-1] = $voto[$escolha-1] +1; // soma o voto ao valor q encontra-se armazenado
// Monta a forma de gravacao do votos ate o momento dependendo de $opcoes
for ($i = 0; $i < $opcoes; $i++) {
$acumulado .= $voto[$i].'-'; //monta a sequencia para gravacao Ex.: 1-2-3-9
$tl_votos += $voto[$i]; // Soma o total de votos entre todos para mostrar gráfico
}
// Mostra o gráfico
for ($i = 0; $i < $opcoes; $i++) {
if ($tl_votos != 0) $percentual = round($voto[$i]*100/$tl_votos);
echo ($i+1).': <img src="'.$i.'.gif" height=13 width ='.$percentual*2 .' > '.$percentual.'%<br>'; // mostra a barra com percentual
}
$acumulado = substr($acumulado,0,-1);
// Grava os valores somados
$f = fopen($file,'w+');
fputs($f,$acumulado);
fclose($f);
?>
</td>
</tr>
</table>
<table width="222" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="220"><img src="b2.jpg" width="220" height="19"></td>
</tr>
</table>
<div align="center"><BR><CENTER>
<a href="../enquete.php">RETORNAR</A> </div>
</body>
</html>
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.