Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jean Paulo JPMASTER

Problema com compararação de datas?

Recommended Posts

Galera, estou com um ultimo problema nesse script de voto.

 

Eu já fiz com que fosse armazenado IP, enquente, data na tabela na hora que é votado.

 

Porem quero faser com que antes ele faça uma validação e verifique se:

 

 

a tada gravada na tabela é mais velha que a atual..

 

se for mais velha, sua entrada sera apagada, e com isso,,, seguindo o script.........

vai liberar a opção de voto...

 

 

e caso não seja mais velha.... ela vai parar na proxima condição, que verifica se tem os registros já na tabela....

 

 

So que meu script.. toda hora que vai votar ele já esta apagando os dados da tabela.

 

Como resolver?

 

 

voto.php:

 

<?php include "config.php" ?>

<?php include "config2.php" ?>




<?php
$dataatual = date("d/m/Y");//Dia: Mês: Ano:

if (isset ($_REQUEST['id'])) {
    
        $sql = mysql_query ("SELECT * FROM ipvotos WHERE idpropaganda='$_REQUEST[id]' AND ip='$_SERVER[REMOTE_ADDR]'");
        $c = mysql_num_rows ($sql);
    
        if ($c['datadovoto']<$dataatual) {                          
        query ("DELETE FROM ipvotos WHERE ip='$_SERVER[REMOTE_ADDR]'", $basedados_accounts);}
                            

        $check = mysql_query ("SELECT * FROM ipvotos WHERE idpropaganda='$_REQUEST[id]' AND ip='$_SERVER[REMOTE_ADDR]'");
          $checkip = mysql_num_rows ($check);
        
        
        //caso não tenha votado
        if ($checkip == 0) {
            
            $podevotar = "sim";
            include "votar.php";
            
            
            

        //caso contrário
        } else {
            $podevotar = "não";
            echo "<script> alert('Somente é aceito um voto a cada 24 hrs!');</script>";
            
            
        }
        
        
    




// caso o id do servidor seja invalido
}else{
    
echo "Servidor não Existe";    }
    
?>

 

 

Votar.php:

 

<?
if($podevotar != "sim") {
    echo "<script> alert('Você não tem permição para votar!');</script>";
    header("Location: index.php");
}else{


if($_POST) {

    $codigo      = strtoupper(addslashes(htmlentities($_POST['codigo'])));
    
    $erro .= (!empty($codigo)) && (!PhpCaptcha::Validate($codigo)) ? 'Codigo de seguranca não confere!\n' : NULL;    
    

    if(empty($erro)) {
        mysql_query("UPDATE listaservidores_adm SET votos = (votos+1) WHERE idpropaganda='$_REQUEST[id]'") or die(mysql_error());
        mysql_query("INSERT INTO `ipvotos` (`idpropaganda`, `ip`, `datadovoto`) VALUES ('$_REQUEST[id]', '$_SERVER[REMOTE_ADDR]', '$dataatual')") or die(mysql_error());
        
        
        echo "<script>alert('Voto computado com Sucesso!!');</script>";
        echo "<script>window.location='index.php';</script>";
        }else{
        echo "<script>alert('".$erro."');</script>";
        echo "<script>window.location='?page='$_REQUEST[id]'';</script>";    
    }    
}
    
?><style type="text/css">
<!--
body {
    background-image: url(images/fundo.jpg);
}
.caixadevoto {
    background-image: url(images/backgroundvoto.png);
    background-repeat: no-repeat;
    background-position: center center;
}
#caixadevoto form .fonte tr td h3 {
    color: #FFF;
}
-->
</style>
<div class="caixadevoto" id="caixadevoto">
  <form action="" method="post">
    <table width="404" height="243" border="0" align="center" class="fonte">
      <tr>
        <td width="52%" align="right"> </td>
      </tr>
      <tr>
        <td align="conter"><h3 align="center">Confirmar voto TOP SERVERS</h3></td>
      </tr>
      <tr>
        <td align="center"><h3>
          <input name="codigo" type="text" class="acao_list" id="codigo" maxlength="5" />
        </h3></td>
      </tr>
      <tr>
        <td align="center"><img src="img.php" alt="" /></td>
      </tr>
      <tr>
        <td align="center"><input name="Votar!" type="submit" class="acao_list" id="Votar!" value="Votar" /></td>
      </tr>
      <tr>
        <td align="right"> </td>
      </tr>
    </table>
  </form>
  <?
}
?>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, eu descobri que eu tinha que converter para timestamp.

 

 

Porem agora ta dando um problema, não estou conseguindo visualizar o conteudo de um variavel eu acho, e assim nao tem como eu comparar

 

 

Algo que eu verifiquei... tentei imprimir o resutado das 2 variaveis:

 

$time e $c['datadovoto'];

 

So mostrou o resultado do $time...... porque que esta dando errado?

 

 

Voto.php:

 

<?php include "config.php" ?>

<?php include "config2.php" ?>



<?php

$data = date("d/m/Y");//Dia: Mês: Ano:

  



if (isset ($_REQUEST['id'])) {
    
        $sql = mysql_query ("SELECT * FROM ipvotos WHERE ip='$_SERVER[REMOTE_ADDR]'");
        $c = mysql_num_rows ($sql);
        
        
        function dataToTimestamp($data) {  
list($dia, $mes, $ano) = extract(explode("/", $data));  
return mktime(0, 0, 0, $mes, $dia, $ano);  
}  


$data = date("d/m/Y");//Dia: Mês: Ano:
$time = dataToTimestamp("$data");  


 
$tMaior = $time;

$tMenor = $c['datadovoto'];
  
$diff = $tMaior-$tMenor;  

$numDias = $diff/86400;  
  



        
    
        if ($diff>=1) { 

            query ("DELETE FROM ipvotos WHERE ip='$_SERVER[REMOTE_ADDR]'", $basedados_accounts);}
                            

        $check = mysql_query ("SELECT * FROM ipvotos WHERE idpropaganda='$_REQUEST[id]' AND ip='$_SERVER[REMOTE_ADDR]'");
          $checkip = mysql_num_rows ($check);
        
        
        //caso não tenha votado
        if ($checkip == 0) {
            
            $podevotar = "sim";
            include "votar.php";
            
            
            

        //caso contrário
        } else {
            $podevotar = "não";
            echo "<script> alert('Somente é aceito um voto a cada 24 hrs!');</script>";
            
            
        }
        
        
    




// caso o id do servidor seja invalido
}else{
    
echo "Servidor não Existe";    }
    
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

meu velho eu sei que seu script ja esta quase finalizado pelo que eu vi aqui

mais uma coisa que eu reparei pq você nao usar cookie de 24 horas

 

ser nao existe cookie do usuario mostra opcao para vota

 

else nao mostra resultado da enquete

 

setcookie("usuario", "kakaroto",time()+ 86400); - Prazo de validade de 24 horas, portanto, este cookie será excluído da máquina somente depois 24horas

 

http://br2.php.net/manual/en/function.setcookie.php

 

pq a tua ideia com ip e mole de burlar

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.