Ir para conteúdo

POWERED BY:

Arquivado

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

arldin

Como bloqueia usuario depois de 1 mes

Recommended Posts

Não funcionou continua passando tanto o que ja esta atrasado como o que não esta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro fiz deste jeito

<?php
	 $qry="SELECT * FROM se_users WHERE data='$data' AND data_pg='$data_pg'";
 
  $result=mysql_query($qry);

if($result) {

$agora = new DateTime;
$expiracao = new DateTime( $data_pg );
 
if ( $expiracao < $agora )
{
    // plano expirou
}
}
?>

depois assim

<?php
	 $qry="SELECT * FROM se_users WHERE data='$data' AND data_pg='$data_pg'";
 
  $result=mysql_query($qry);

if($result) {

$data = new DateTime;
$data_pg = new DateTime($data_pg);
 
if ( $data_pg < $data )
{
    // plano expirou
}
}
?>

Depois toquei o selct fazendo a mudança duas vezes igual acima

$qry="SELECT * FROM se_users WHERE data='$data' AND data_pg > NOW()";

 

$data = date("Y-m-d");

$data_pg = date("Y-m-d", strtotime("+ 1 Month"));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descupa e que eu esqueci de posta coloquei assim

echo '<script> location.href="index_pagamento.php"; </script>';

Compartilhar este post


Link para o post
Compartilhar em outros sites

sou menina não kk!, so macho fi.
Coloca quando a pessoa se registrar, ja salvar ou quando assinar algum plano já salva o dia em que deve terminar
ai tu faz um sistema pra ficar renovando as informações, ai quando chegar um dia antes tu manda o email coloca um boolean pra sinalizar que ja mandou ai se a pessoa confirmar o pagamento tu coloca alguma variavel pra fala que pagou sei lá, da uma pensada ae!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descupa pelo equivoco mais valeu a força vou testa a sua teoria


Coloquei desta forma mais continua passando

$qry="SELECT * FROM se_users WHERE data='$data' AND data_pg > NOW()";
 
  $result=mysql_query($qry);

if($result) {

$data = new DateTime;
$data_pg = new DateTime($data_pg);
 
if ( $data_pg < $data )
{
    session_write_close();
    header("location: div1.php");
			exit();
			
		}else {
			
			header("location: index_pagamento.php");
			exit();
}
	{
		die("Query failed");
	}
	}

Criei outra pagina só que agora ele bloqueia todos ta assim o codico

<?php
   require_once('config.php');

	 $qry="SELECT * FROM se_users WHERE data='$data' AND data_pg > NOW()";
 
  $result=mysql_query($qry);

if($result) {

$data = new DateTime;
$data_pg = new DateTime($data_pg);
 
if ( $data_pg < $data )
{
    session_write_close();
    header("location: login-exec.php");
			exit();
			
		}else {
			
			header("location: pagamento.php");
			exit();
}
	{
		die("Query failed");
	}
	}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, como eu disse antes, tenha certeza de que data_pg está no formato YYYY-MM-DD e verifique se ela é maior que a data atual (a data de expiração deve ser maior que a data de hoje)

 

Você comete o mesmo erros em seus dois códigos. Você redireciona para o pagamento quando o if retorna false, ou seja, quando a data de expiração é maior que a data atual. É o oposto. O redirecionamento para o pagamento é feito no if, não no else

Compartilhar este post


Link para o post
Compartilhar em outros sites

a data do pagamento e data estão Y-m-d

 

eu troquei e continuo passando

 

 

Fiz uma modificação que retornou o que eu quero foi o seginte no script

login-exec.php ficou assim

$qry="SELECT * FROM se_users WHERE user_email='$user_username' AND user_password='$user_password' AND user_verified='1' AND status='1'";

todos que tiverem o status 1 vai se logar e o que tiverem o status 0 vai para a pagina de pagamento

como posso então fazer um script que altere o status de 1 para 0 depois de 30 partindo da $data_pg e outo script para quando o pagamento for confirmado gerar uma nova data na $data_pg e mudar o satus para 1 ai eu coloco o

cronjob para fazer execução diária do script

 

partindo do id do usuario

 

 

Consegui resolver

Compartilhar este post


Link para o post
Compartilhar em outros sites

ha eu esqueci de postar como foi que eu resolvi foi facil

Primeiro eu adicionei mais um campo com o nome de status onde 0 bloqueia e 1 esta liberado

depois criei um script para fazer a pesquisa e da um UPDATE

ficou assim

<?php
include("config.php");

			if(!$update=mysql_query("UPDATE se_users SET status = '0' WHERE data_pg < NOW();")) {
			

				mysql_error();


			}
?>

e depois criei uma tarefa no cronn

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.