Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com envio de formulário


Rafael Rocha B.

Pergunta

Olá pessoal,

Estou com dois probleminhas, se alguém poder me dar uma luz:

1° - Construi uma enquete pra por na minha página, sendo que toda vez que aperto F5 pra atualizar a página a enquete é atualizada mesmo sem eu clicar no botão enviar.

Alguém sabe como faço pra corrigir isso??

HTML -

<form action="valida.php" method="post">

<input type="radio" name="OTIMO" value="OTIMO">Ótimo

<input type="radio" name="BOM" value="BOM">Bom

<input type="radio" name="RAZOAVEL" value="RAZOAVEL">Razoável

<input type="submit" name="operacao" value="Enviar" />

<input type="hidden" name="operacao" value="enviar" />

</form>

PHP - valida.php

<?php

$otimo = $_POST['OTIMO'];

$bom = $_POST['BOM'];

$razoavel = $_POST['RAZOAVEL'];

$operacao = $_POST['operacao'];

if ($operacao == "enviar") {

require "conexao.php";

$sql = "INSERT INTO media (otimo, bom, razoavel) VALUE ('$otimo', '$bom', '$razoavel')";

$qr = mysql_query($sql) or die (mysql_error());

$sql = "SELECT COUNT( * ) as Total FROM media";

$resultSet = mysql_query($sql, $conexao);

$result = mysql_fetch_array($resultSet);

$total = $result[0];

echo "Número total de votos: $total";

echo "<br />";

/*MÉDIA DE ÓTIMO*/

$sql = "SELECT COUNT( * ) as Total FROM media WHERE otimo = 'OTIMO'";

$resultSet = mysql_query($sql, $conexao);

$result = mysql_fetch_array($resultSet);

$media_otimo = $result[0] / $total * 100;

echo "<br />";

$media_otimo_exibir = intval(number_format($media_otimo,2,".",""));

echo "Ótimo: $media_otimo_exibir%";

....

?>

2° - Queria limitar os votos da enquete por IP, por exemplo, se a pessoa com o IP x votou hoje ele não poderá mais votar hoje.

Só preciso de um caminho pessoal, só uma luz, que dai me esforço pra conseguir.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

o autorefresh tem uma opção que pode colocar no header tipo

<meta http-equiv="Refresh" content="60">

vai atualizar a pagina a cada 60 segundos.. sem em segundos, pode colocar o tempo que quiser

de uma pesquisada em AJAX ou poste esta em JS o pessoal lá pode ter outras soluções

o IP já é PHP

$REMOTE_ADDR retorna o IP do visitante

só colocar ele e sempre verificar quando votar..

voce pode verificar antes do voto, se achar o IP só mostra o resultado

lembre que a maioria dos IP´s são dinamicos, então se uma pessoa desligar o modem e ligar novamente vai pegar outro IP e vai poder votar, ou mesmo usarem proxy para mascarar o IP

de uma olhada em

http://www.php.net/manual/pt_BR/reserved.v...bles.server.php

vai achar mais funções que podem ajudar voce

Link para o comentário
Compartilhar em outros sites

  • 0

Opa galera, valeu mesmo pela força.

Depois das dicas acho que vou fazer isso:

1° Em relação ao IP, capturo o ip da pessoa que vai votar, armazeno no banco de dados e se ela tentar votar novamente não vai conseguir, beleza. Mas queria saber se existe a possibilidade de 24 em 24 horas o banco de dados que armazena os ip's ser zerado, da pra fazer isso com php???

2° em relação a atualização da página a dica do <meta http-equiv="Refresh" content="60"> foi ótima, estava tentando fazer com JavaScript e pelo fato de ser iniante não tava dando certo, enfim, valeu pela força pessoal!

Link para o comentário
Compartilhar em outros sites

  • 0

para apagar de tempo em tempo voce pode criar um script que de um comando do mysql 'truncate table' como faz os select , ele limpa todo o conteudo da tabela

e colocar este script no cronjob (agendador de tarefas) de seu servidor para ser executado a cada 24hs

somente coloque ele no cron se já tiver testado e funcionando certo, para colocar se não souber entre em contato com o suporte, teste antes quando Ok pergunte a eles para colocar para funcionar

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...