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

Enquete


Maisa

Pergunta

Posts Recomendados

  • 0

você pode usar COOKieS!

Ele deixa uma informação no pc da pessoa (já vi isso no forum, tenho certeza)

Há tb usando base de dados, que armaniza o IP, porem, não tenho a menor ideia de como fazer (Sugestão para os proximos que posarem - Essa ideia na pratica)

Link para o comentário
Compartilhar em outros sites

  • 0

você poderia bloqueiar estas pessoas, pelo tempo de conexão na rede, por ip.

Ai você pode optar para gravar isso no MySQL, ou cookie.

// VALIDADE DE 24 HORAS

setcookie("BloqueiaEnquete", "0", time()+86400);

Coloque o código acima, na página que salva o voto.

if($BloqueiaEnquete==0)

{

echo "você já votou";

}

else

{

// Código da Enquete Para Votação Normal

}

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que não me expressei bem, seria o seguinte, a enquete q estou precisando é para votação de 10 garotas mais bonitas no meu site, por isso precisarei de 20 opções de escolha, pois as 10 + votadas irão para o TOP 10 gatas, mas se eu colocar só o nome, algumas pessoas não as conhece, por isso precisarei que do lado do nome, tenha uma foto de cada garota..então não seriam 20 enquetes, e sim 20 opções de nomes, para votar.. E no meu servidor não aceita MYSQL por isso precisarei de uma que salva no banco de dados txt. e do jeito que você me disse dá certo pra mim tb, ser bloqueada por IP.. Por favor se puder me ajudar ficarei muito GRATA!!!bjin wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Pronto.

Salve como quizer e bote pra rodar que já está funcionando, já testei.

<?

  // Configuração

# ==================================================

$enquete_pergunta = "Qual dessas gorotas você escolhe ? Vote !";

$op[1] = "Juliana|foto1.jpg";

$op[2] = "Paula|foto2.jpg";

$op[3] = "Rafaela|foto3.jpg";

$op[4] = "Manu|foto4.jpg";

$op[5] = "Gislene|foto5.jpg";

$op[6] = "Fábiola|foto6.jpg";

$op[7] = "Raquel|foto7.jpg";

$op[8] = "Silvia|foto8.jpg";

$op[9] = "Renata|foto9.jpg";

$op[10] = "Sara|foto10.jpg";

// Coloque o diretório das fotos com a barra no final, caso for no mesmo do script dexe em branco.

$diretorio = "";

  // Votando na Enquete

# ==================================================

$arquivo = "enquete.eosg";

if($enquete=="votar")

{

if(IsSet($opcao))

{

if($BlOqueiOEnq=="0")

{

    $html .= "<HTML><TITLE>Aguarde...</TITLE><BODY BGCOLOR='#FFFFFF'>\n\n";

    $html .= "<script>\n";

    $html .= "function SetOsG(){document.location.href='?enquete=resultados&já=votou';}\n";

    $html .= "setTimeout('SetOsG()',500);\n";

    $html .= "</SCRIPT>\n\n";

    $html .= "</BODY></HTML>\n\n";

   

}

else

{

setcookie("BlOqueiOEnq", "0", time()+86400);

    $enq = file($arquivo);

    $explode = explode("|",$enq[0]); $i=0;

    foreach($explode as $foreach){

    if($i==$opcao){

    $grava_enquete .= ($foreach+1)."|";

    } else {

    $grava_enquete .= $foreach."|";

    }

    $i++; } $grava_enquete = substr($grava_enquete,0,-1);

    $fopen = fopen($arquivo,"w");

    fputs($fopen,$grava_enquete);

    fclose($fopen);

   

    $html .= "<HTML><TITLE>Aguarde...</TITLE><BODY BGCOLOR='#FFFFFF'>\n\n";

    $html .= "<script>\n";

    $html .= "function SetOsG(){document.location.href='?enquete=resultados';}\n";

    $html .= "setTimeout('SetOsG()',500);\n";

    $html .= "</SCRIPT>\n\n";

    $html .= "</BODY></HTML>\n\n";

   

}

}

}

  // Exibindo os resultados parcial

# ==================================================

elseif($enquete=="resultados")

{

$html .= "Resultados Parcial:<BR><BR><B>".$enquete_pergunta."</B><BR><BR>";

$html .= "<TABLE CELLPADDING='0' CELLSPACING='0' BORDER='0'>\n";

    $html .= "<TR HEIGHT='30' ALIGN='CENTER'>";

    $html .= "<TD WIDTH='60'>Nome</TD>\n";

    $html .= "<TD WIDTH='40'>Foto</TD>\n";

     $html .= "<TD WIDTH='40'>Votos</TD>\n";

    

    $html .= "</TR>";

    $enq = file($arquivo);

    $explode = explode("|",$enq[0]); $i=0;

    foreach($explode as $foreach)

    {

    $votos[$i] .= $foreach;

    $i++;}

   

for($i=1; $i<count($op)+1; $i++)

{

    $explode = explode("|",$op[$i]);

    $nome = $explode[0];

    $foto = $explode[1];

    $voto = $votos[$i];

   

    $html .= "<TR HEIGHT='60' ALIGN='CENTER'>";

    $html .= "<TD>".$nome."</TD>";

    $html .= "<TD><IMG SRC='".$diretorio.$foto."' BORDER='0'></TD>";

    $html .= "<TD>".$voto."</TD>";

   

    $html .= "</TR>";

}

$html .= "</TABLE>";

if($já=="votou"){ $html .= "<script>\nalert(\"você já votou nesta enquete\");\n</SCRIPT>"; }

} else {

  // Exibindo página para votação

# ==================================================

// setcookie("BlOqueiOEnq"); //

if(!file_exists($arquivo))

{

for($i=1; $i<count($op)+2; $i++){ if($i!=1){ $grava .= "|"; } $grava .= "0";}

$fopen=fopen($arquivo,"w");

fputs($fopen,$grava);

fclose($fopen);

chmod($arquivo, 0777);

}

$html .= "<B>".$enquete_pergunta."</B><BR><BR>";

$html .= "<FORM NAME='form' METHOD='post' ACTION='".$PHP_SELF."?enquete=votar'>";

$html .= "<TABLE CELLPADDING='0' CELLSPACING='0' BORDER='0'>\n";

    $html .= "<TR HEIGHT='30' ALIGN='CENTER'>";

    $html .= "<TD WIDTH='20'></TD>\n";

    $html .= "<TD WIDTH='60'>Nome</TD>\n";

    $html .= "<TD WIDTH='40'>Foto</TD>\n";

    $html .= "</TR>";

   

for($i=1; $i<count($op)+1; $i++)

{

    $explode = explode("|",$op[$i]);

    $nome = $explode[0];

    $foto = $explode[1];

   

    $html .= "<TR HEIGHT='60' ALIGN='CENTER'>";

    $html .= "<TD><INPUT TYPE='Radio' NAME='opcao' VALUE='".$i."'></TD>\n";

    $html .= "<TD>".$nome."</TD>";

    $html .= "<TD><IMG SRC='".$diretorio.$foto."' BORDER='0'></TD>";

       

    $html .= "</TR>";

   

}

$html .= "</TABLE>";

$html .= "<BR><INPUT TYPE='image' SRC='votar.gif'>";

$html .= "</FORM>";

}

echo $html;

?>

Link para o comentário
Compartilhar em outros sites

  • 0

/* só que isso de cookie num funciona qualquer mané fará o seguinte limpar disco excluir temporários e cookies pronto voto de novo e ai ? mais viável forçar cadastro para votação o cara vai pensar duas vezes e ter mais trabalho toda hora que for votar ter que se cadastrar é zica , bom acho que cookie não é a solução */

Link para o comentário
Compartilhar em outros sites

  • 0
/* só que isso de cookie num funciona qualquer mané fará o seguinte limpar disco excluir temporários e cookies pronto voto de novo e ai ? mais viável forçar cadastro para votação o cara vai pensar duas vezes e ter mais trabalho toda hora que for votar ter que se cadastrar é zica , bom acho que cookie não é a solução */

É gladiador, você tem razão, mais eu ajudei ela do jeito que ela quiz, e até mesmo ia me dar mais trabalho, gastei meia hora para fazer isso.

Mais eu acho que com esse script que fiz ela pode tirar suas dúvidas e implementar mais coisas.

Link para o comentário
Compartilhar em outros sites

  • 0

Oie....fiz conforme você colocou, mas quando ele redireciona para a pagina do resultado....n aparece os os resultados dos votos.....apenas o nome da pessoa e sua respectiva foto......o q podera estar dando de errado??????ahh e se a pessoa clicar direto em votar sem escolher uma opcao....da uma pagina em branco...tem como corrigir isso?

Link para o comentário
Compartilhar em outros sites

  • 0

Concordo com o gladiador, tava comentando isso com alguém aqui do fórum esses tempos no icq, tanto ip quanto cookies não funcionam para esse tipo de teste, primeiro pelo problema de poder apagar o cookie e dp tem gente que aceita cookie apenas para a sessão atual ou então nem aceita. IP tb não adianta porque dá pra trocar ou mascarar. Então a melhor saída mesmo é obrigar que o usuario se cadastre no site e dp tu armazena o login de quem já votou, e testa a cada tentativa de votaçao se ele já votou.

Link para o comentário
Compartilhar em outros sites

  • 0

Se for assim a internet para PHP não tem saida mesmo, porque teriamos que avaliar o usuários por todos os tipos de tentativa

IP -> Para intimidar o usuário a primeira tentativa.

COOKIE -> Para quando ele entrar a segunda vez ser barrado.

e o

CADASTRO -> que se pode fazer vários vezes, por mais que seja trabalhoso para quem quer o voto.

Sem saída mesmo, é difícil, nem se botar o pra valiar com CPF, porque ele pode gerar um.

E ai se botar essa dificudade toda ninguém vai querer votar(Pessoas sem má intenções), que coisa em... mad.gif .

Maisa, Eu vou ver que pode ser, e quando não escolhe nehuma opção ela realmente vai para uma página sem nada mesmo, mais você não consegue adptar o redirecionador ? você entende um pouco de PHP ?

Link para o comentário
Compartilhar em outros sites

  • 0

Acrecentei algumas linhas para caso ele não tiver escolhido nenhuma das garotas, alertar ele que ele não votou.

Está em vermelho a alteração.

<?

  // Configuração

# ================================================

$enquete_pergunta = "Qual dessas gorotas você escolhe ? Vote !";

$op[1] = "Juliana|foto1.jpg";

$op[2] = "Paula|foto2.jpg";

$op[3] = "Rafaela|foto3.jpg";

$op[4] = "Manu|foto4.jpg";

$op[5] = "Gislene|foto5.jpg";

$op[6] = "Fábiola|foto6.jpg";

$op[7] = "Raquel|foto7.jpg";

$op[8] = "Silvia|foto8.jpg";

$op[9] = "Renata|foto9.jpg";

$op[10] = "Sara|foto10.jpg";

// Coloque o diretório das fotos com a barra no final, caso for no mesmo do script dexe em branco.

$diretorio = "";

  // Votando na Enquete

# ================================================

$arquivo = "enquete.eosg";

if($enquete=="votar")

{

if(IsSet($opcao))

{

if($BlOqueiOEnq=="0")

{

    $html .= "<HTML><TITLE>Aguarde...</TITLE><BODY BGCOLOR='#FFFFFF'>\n\n";

    $html .= "<script>\n";

    $html .= "function SetOsG(){document.location.href='?enquete=resultados&já=votou';}\n";

    $html .= "setTimeout('SetOsG()',500);\n";

    $html .= "</SCRIPT>\n\n";

    $html .= "</BODY></HTML>\n\n";

   

}

else

{

setcookie("BlOqueiOEnq", "0", time()+86400);

    $enq = file($arquivo);

    $explode = explode("|",$enq[0]); $i=0;

    foreach($explode as $foreach){

    if($i==$opcao){

    $grava_enquete .= ($foreach+1)."|";

    } else {

    $grava_enquete .= $foreach."|";

    }

    $i++; } $grava_enquete = substr($grava_enquete,0,-1);

    $fopen = fopen($arquivo,"w");

    fputs($fopen,$grava_enquete);

    fclose($fopen);

   

    $html .= "<HTML><TITLE>Aguarde...</TITLE><BODY BGCOLOR='#FFFFFF'>\n\n";

    $html .= "<script>\n";

    $html .= "function SetOsG(){document.location.href='?enquete=resultados';}\n";

    $html .= "setTimeout('SetOsG()',500);\n";

    $html .= "</SCRIPT>\n\n";

    $html .= "</BODY></HTML>\n\n";

   

}

}

else {

    $html .= "<HTML><TITLE>Aguarde...</TITLE><BODY BGCOLOR='#FFFFFF'>\n\n";

    $html .= "<script>\n";

    $html .= "alert(\"Você não votou em ninguém\");\n";

    $html .= "function SetOsG(){document.location.href='?';}\n";

    $html .= "setTimeout('SetOsG()',500);\n";

    $html .= "</SCRIPT>\n\n";

    $html .= "</BODY></HTML>\n\n";

}

}

  // Exibindo os resultados parcial

# ================================================

elseif($enquete=="resultados")

{

$html .= "Resultados Parcial:<BR><BR><B>".$enquete_pergunta."</B><BR><BR>";

$html .= "<TABLE CELLPADDING='0' CELLSPACING='0' BORDER='0'>\n";

    $html .= "<TR HEIGHT='30' ALIGN='CENTER'>";

    $html .= "<TD WIDTH='60'>Nome</TD>\n";

    $html .= "<TD WIDTH='40'>Foto</TD>\n";

    $html .= "<TD WIDTH='40'>Votos</TD>\n";

   

    $html .= "</TR>";

    $enq = file($arquivo);

    $explode = explode("|",$enq[0]); $i=0;

    foreach($explode as $foreach)

    {

    $votos[$i] .= $foreach;

    $i++;}

   

for($i=1; $i<count($op)+1; $i++)

{

    $explode = explode("|",$op[$i]);

    $nome = $explode[0];

    $foto = $explode[1];

    $voto = $votos[$i];

   

    $html .= "<TR HEIGHT='60' ALIGN='CENTER'>";

    $html .= "<TD>".$nome."</TD>";

    $html .= "<TD><IMG SRC='".$diretorio.$foto."' BORDER='0'></TD>";

    $html .= "<TD>".$voto."</TD>";

   

    $html .= "</TR>";

}

$html .= "</TABLE>";

if($já=="votou"){ $html .= "<script>\nalert(\"você já votou nesta enquete\");\n</SCRIPT>"; }

} else {

  // Exibindo página para votação

# ================================================

// setcookie("BlOqueiOEnq"); //

if(!file_exists($arquivo))

{

for($i=1; $i<count($op)+2; $i++){ if($i!=1){ $grava .= "|"; } $grava .= "0";}

$fopen=fopen($arquivo,"w");

fputs($fopen,$grava);

fclose($fopen);

chmod($arquivo, 0777);

}

$html .= "<B>".$enquete_pergunta."</B><BR><BR>";

$html .= "<FORM NAME='form' METHOD='post' ACTION='".$PHP_SELF."?enquete=votar'>";

$html .= "<TABLE CELLPADDING='0' CELLSPACING='0' BORDER='0'>\n";

    $html .= "<TR HEIGHT='30' ALIGN='CENTER'>";

    $html .= "<TD WIDTH='20'></TD>\n";

    $html .= "<TD WIDTH='60'>Nome</TD>\n";

    $html .= "<TD WIDTH='40'>Foto</TD>\n";

    $html .= "</TR>";

   

for($i=1; $i<count($op)+1; $i++)

{

    $explode = explode("|",$op[$i]);

    $nome = $explode[0];

    $foto = $explode[1];

   

    $html .= "<TR HEIGHT='60' ALIGN='CENTER'>";

    $html .= "<TD><INPUT TYPE='Radio' NAME='opcao' VALUE='".$i."'></TD>\n";

    $html .= "<TD>".$nome."</TD>";

    $html .= "<TD><IMG SRC='".$diretorio.$foto."' BORDER='0'></TD>";

       

    $html .= "</TR>";

   

}

$html .= "</TABLE>";

$html .= "<BR><INPUT TYPE='image' SRC='votar.gif'>";

$html .= "</FORM>";

}

echo $html;

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Está estenção é uma criada pra não misturar com qualquer uma que tiver.

Eu não me lembro, mais tente modificar no código:

Aonde tiver:

chmod($arquivo, 0777);

Mude para:

chmod($arquivo, 777);

Ai delete maualmente o arquivo que foi criado, e acesse a página de votação, novamente e veja se deu certo, ou seja se os resultados estão aparecendo.

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,3k
×
×
  • Criar Novo...