Galera adepta do PHP! Gostaria de saber como zerar essa enquete em PHP porque ainda não tenho muito conhecimento de PHP.
segue o código
enquete.php
<html>
<head>
<link rel="stylesheet" type="text/css" href="exemplo.css">
<title>Enquete ---> Sistemas de Informação</title>
</head>
<body bgcolor="#00254a" text="#cccccc">
<div align="center">
<p>
<b>:: ---> Enquete Camiseta do curso de Sistemas de Informação <--- ::</b>
</p>
</div>
<hr>
<!-- formulario da enquete, que usa o arquivo atualiza.php para atualizar os dados -->
<div align="center">
<form action="atualiza.php" method="POST">
<table width="300">
<?php
clearstatcache(); // limpa o cache
$file = "data.txt"; // file recebe o nome do arquivo de dados
$fp = fopen($file,"r+"); // abre o arquivo com os dados para leitura
$handle = fread($fp,filesize($file)); // handle recebe o conteudo do arquivo
fclose($fp); // fecha o arquivo fp
$lines = explode("#",$handle); // cria o vetor lines com as linhas do arquivo de dados
$nlines = $lines[0]; // nlines guarda o numero de linhas do arquivo de dados
$question = $lines[1]; // question recebe a pergunta da enquete
// imprime a pergunta da enquete
echo "<tr><td colspan=\"2\"><strong>" . $question . "</strong></td></tr>";
echo "<tr><td width=\"150\">";
for( $i = 2; $i <= $nlines; $i++)
{
// separa a opção do número de votos dessa opção
$lines[$i] = explode("|",$lines[$i]);
// coloca um radio button para cada opção i e associa o valor i
echo "<input type=\"radio\" name=\"escolha\" value=\"" . $i . "\">" . $lines[$i][0] . "<br>";
}
?>
</td>
<td width="150" align="center">
<input type="submit" name="submit1" class="formulario" value="Enviar"><br><br>
<a href="resultado.php">Resultado Parcial</a>
<br>
<br>
<a href="http://www.sistemainfo.hostpicos.com">Página inicial</a>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
resultado.php
<html>
<head>
<link rel="stylesheet" type="text/css" href="exemplo.css">
<title>Enquete ---> Sistemas de Informação</title>
</head>
<body bgcolor="#00254a" text="#cccccc">
<div align="center">
<p>
<?php
clearstatcache(); // limpa o cache
$file = "data.txt"; // file recebe o nome do arquivo de dados
$fp = fopen($file,"r+"); // abre o arquivo com os dados para leitura
$handle = fread($fp,filesize($file)); // handle recebe o conteudo do arquivo
fclose($fp); // fecha o arquivo fp
$lines = explode("#",$handle); // cria o vetor lines com as linhas do arquivo de dados
$nlines = $lines[0]; // nlines guarda o numero de linhas do arquivo de dados
$question = $lines[1]; // question recebe a pergunta da enquete
for( $i = 2; $i <= $nlines; $i++)
{
// separa a opção do número de votos dessa opção
// lines[i][0] possui a opção e lines[i][1] possui a quantidade de votos
$lines[$i] = explode("|",$lines[$i]);
}
// calcula a quantidade total de votos, armazenada na variavel soma
$soma = 0;
for( $i = 2; $i <= $nlines; $i++)
{
$soma += $lines[$i][1];
}
// controi uma tabela com o resultado parcial da enquete
echo "<strong>:: Resultado parcial</strong></p><hr>";
echo "<p><table><tr><td>" . $question . "</td></tr>";
for( $i = 2; $i <= $nlines; $i++)
{
$percent = ($lines[$i][1]/$soma)*100; // calcula a porcentagem de votos para a opção i
echo "<tr><td>" . $lines[$i][0] . "</td>"; // imprime a opção i
echo "<td>";
// coloca uma barra representando a porcentagem para a opção i
echo "<img src=\"l.gif\">";
for( $j = 0; $j <= $percent; $j++ )
{
echo "<img src=\"b.jpg\">";
}
echo "<img src=\"r.gif\">";
// imprime a porcentagem formatada
printf(" %01.1f%%", $percent);
}
echo "</table>";
echo "<br>Votaram nessa enquete <strong>" . $soma . "</strong> pessoas.</p>";
?>
<br><a href="enquete.php">[Voltar]</a>
</div>
</body>
</html>
atualiza.php
<html>
<head>
<link rel="stylesheet" type="text/css" href="exemplo.css">
<title>Enquete ---> Sistemas de Informação</title>
</head>
<body bgcolor="#00254a" text="#cccccc">
<p>
<?php
$file_ip = "ip.txt"; // associa a file_ip o arquivo com os ip's que já votaram na enquete
$file = "data.txt"; // associa a file o arquivo de dados
$ip = $_SERVER['REMOTE_ADDR']; // recebe o ip do computador remoto
$choose = $_POST['escolha']; // recebe a escolha do usuário vinda do formulário
$fp = fopen($file_ip,"r"); // abre o arquivo file_ip para leitura
$handle_ip = fread($fp,filesize($file_ip)); // handle_ip recebe o conteudo do arquivo
fclose($fp); // o arquivo é fechado
$handle_ip = explode("#",$handle_ip); // coloca os ip's no vetor handle_ip
// flag que permite ou não a execução do voto
$flag = 0;
// se o usuário já votou a flag vai para 1 e outro voto não é permitido
// caso contrário a flag continua em 0 e inicia o procedimento para atualização dos dados
// é testado cada ip em handle_ip
for( $i = 0; $i < count($handle_ip); $i++ )
{
if( $handle_ip[$i] == $ip )
{
$flag = 1;
} // if
} // for
if( $flag == 0 )
{
clearstatcache(); // limpa o cache
$fp = fopen($file,"r+");
$handle = fread($fp,filesize($file));
fclose($fp);
$lines = explode("#",$handle);
$nlines = $lines[0];
for( $i = 2; $i <= $nlines; $i++)
{
$lines[$i] = explode("|",$lines[$i]);
}
for( $i = 2; $i <= $nlines; $i++ )
{
// se a opção escolhida foi a opção i o número de votos é incrementado
if( $choose == $i )
{
$lines[$i][1]++;
} // if
} // for
for( $i = 2; $i <= $nlines; $i++ )
{
$lines[$i] = implode("|",$lines[$i]);
} // for
$handle = implode("#",$lines); // handle volta a ser uma string com o conteúdo do arquivo de dados
$fp = fopen($file,"w+"); // o arquivo de dados é aberto para escrita
fputs($fp,$handle,strlen($handle)+1); // o conteúdo atualizado é inserido
fclose($fp); // fecha o arquivo de dados
$handle_ip = implode("#",$handle_ip); // handle_ip volta a ser a string com o conteúdo do arquivo de ip's
$handle_ip .= $ip . "#"; // o ip atual é inserido no fim da string com o separador
$fp = fopen($file_ip,"w+"); // o arquivo de ip's é aberto para escrita
fputs($fp,$handle_ip,strlen($handle_ip)+1); // a nova string é colocada no arquivo de ip's
fclose($fp); // fecha o arquivo de ip's
echo "<strong>Seu voto foi computado com sucesso!</strong>";
} // if
else
{
echo "<strong>Você já votou nessa enquete!</strong>";
}
// coloca link para voltar à tela com a enquete
echo " <a href=\"enquete.php\">[Voltar]</a>"
?>
</body>
</html>
Editado por Jonathan Queiroz Remover caixa alta do título conforme regra 3.7 e adicionar tag's (Jonathan)
Pergunta
Walterlandy Alves
Galera adepta do PHP! Gostaria de saber como zerar essa enquete em PHP porque ainda não tenho muito conhecimento de PHP.
segue o código
enquete.php
resultado.php atualiza.php Editado por Jonathan QueirozRemover caixa alta do título conforme regra 3.7 e adicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites
10 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.