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
<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 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.