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

Tarefa Programada


Lucas Phillip

Pergunta

ae galera, eu preciso de fazer 1 script que execute algo, 24 horas apos o usuario ter cadastrado.

ai eu achei esse codigo abaixo

$past = time()-86400;
    $db->sql_query("DELETE FROM ".$user_prefix."_users_temp WHERE time < $past");
do php-nuke, que deleta o usuario 24 horas depois dele cadastrar, se não tiver confirmado o cadastro... ai eu tentei altera e coloca assim
$passado = time()-86400;
$tempo = $db->sql_fetchrow($db->sql_query("SELECT data FROM grupos WHERE lider='$username'"));
if ($tempo<$passado) {
   //comandos
}

mas não funciono.... alguém pode me ajuda a arruma isso?

valeu :)

Link para o comentário
Compartilhar em outros sites

19 respostass a esta questão

Posts Recomendados

  • 0

Tente isso:

$TEMPO = date("YmjHis",time() + 86400);

$HORA_ATUAL = date("YmjHis");

$SQL = mysql_query("DELETE FROM tabela WHERE $HORA_ATUAL > tempo");

Crie a tabela tempo para colocar o tempo, ai coloca o comando de deletar logo na primeira página, se passar de 24 horas mesmo sendo a própria pessoa irá deletar.

Vai por mim que isto dá certo, eu utilize isto em um site que fiz.

Link para o comentário
Compartilhar em outros sites

  • 0

o Gladisson, se eu substituir

$TEMPO = date("YmjHis",time() + 86400);

$HORA_ATUAL = date("YmjHis");

$SQL = mysql_query("DELETE FROM tabela WHERE $HORA_ATUAL > tempo");
por
$hora = date("YmjHis",time() + 86400);
$tempo = $db->sql_fetchrow($db->sql_query("SELECT data FROM grupos WHERE lider='$username'"));
if ($tempo>$hora) {
//comandos
}

também vai funcionar?

Link para o comentário
Compartilhar em outros sites

  • 0

Mais essa condição:

if ($tempo>$hora) {

//comandos

}

$tempo é maior que $hora,

Então todos os cadastros serão deletados assim que você ir para outra página onde tenha o arquivo de exclusão.

Na prática:

Tempo: 20031002080000 - Então ele se cadastrou em 01/10/01 às 8:00 hs.

Hora: 20031001080001 - O Proximo segundo HORA é menor que tempo entende??

Ai já era seu script.

Então faça assim:

if ($tempo<$hora) {

//comandos

}

Ai você poderá utilizar sim o seu script. ;)

Link para o comentário
Compartilhar em outros sites

  • 0

ta ai

$hora = date("YmjHis",time() + 86400);
$tempo = $db->sql_fetchrow($db->sql_query("SELECT data FROM grupos WHERE lider='$username'"));
if ($tempo[data]<$hora) {
    $nome_grupo = $db->sql_fetchrow($db->sql_query("SELECT nome FROM grupos WHERE lider='$username'"));
    $qgrupo = $nome_grupo[nome];
    $proc_cav = $db->sql_query("SELECT grupo FROM ficha WHERE grupo='$qgrupo'");
    $conferir = $db->sql_numrows($proc_cav);
    $tempo1 = $db->sql_fetchrow($db->sql_query("SELECT data FROM grupos WHERE lider='$username'"));
    if (($conferir==1) && ($tempo1[data] != 0)){
  $db->sql_query("DELETE FROM grupos WHERE lider='$username'");
  $acha = $db->sql_query("SELECT nome FROM ficha WHERE grupo='$qgrupo'");
  while ($deletar = $db->sql_fetchrow($acha)) {
      $vazio = "";
      $del = $db->sql_query("UPDATE ficha SET grupo='$vazio' WHERE nome='$deletar[nome]'");
  }
  $acha1 = $db->sql_query("SELECT nome FROM ficha WHERE convite='$qgrupo'");
  while ($deletar1 = $db->sql_fetchrow($acha1)) {
      $vazio = "";
      $del = $db->sql_query("UPDATE ficha SET convite='$vazio' WHERE nome='$deletar1[nome]'");
  }
  echo "
  <script language='JavaScript'>
     alert('Seu grupo foi deletado.')
     window.location.href='modules.php?name=Grupos'       
  </script>";
    } else {
  $db->sql_query("UPDATE grupos SET data='0' WHERE lider='$username'");
    }
}

Link para o comentário
Compartilhar em outros sites

  • 0

O erro tá logo no começo, você determinou que "hora" para 24 horas depois.

O certo seria assim

$hora = date("YmjHis");
Entende ele terá que mostrar a hora atual, E

$tempo = date("YmjHis",time() + 86400);

o tempo setará para 24 horas depois. ;)

Tente denovo e poste pra dizer se deu certo ou não.

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