Alterar valor em um banco de dados mysql usando uma data expecifica.
21/01/2020
0
id | estado_user | expira
1 | 1 | 2020/2/20
2 | 0 | 2020/1/10
3 | 1 | 2020/2/25
4 | 0 | 2020/1/20
Onde 1 é ativo e 0 inativo na coluna "estado_user", e na coluna "expira" é a data em que o acesso do usuário expira.
Vamos a questão, como posso fazer o valor de "estado_user" mudar de 1 para 0 na data expecificada pela coluna "expira".
Dinhonuneslc
Post mais votado
22/01/2020
Então, você quer que assim que a data de expiração da coluna seja alcançada pela data atual, o valor de "estado_user " seja alterado, certo?
Você quer que isso ocorra de forma automática?
Diego Silva
Mais Posts
21/01/2020
Dinhonuneslc
<table class='table table-bordered table-hover'> <caption>Usuários</caption> <thead class="thead-light"> <tr align="center"> <?php if($_SESSION['admin']) { ?> <th class='nomecol' scope="col" >ID</th> <?php } ?> <th class='nomecol' scope="col" >Nome</th> <th class='nomecol' scope="col" >Estado</th> <th class='nomecol' scope="col" >Expira</th> <?php if($_SESSION['admin']) { ?> <th class='nomecol' scope="col" >Criador</th> <?php } ?> <?php if($_SESSION['admin']) { ?> <th class='nomecol' scope="col">Remover</th> <?php } ?> <th class='nomecol' scope="col">Editar</th> <th class='nomecol' scope="col" >Logs</th> <th class='semresultado' scope='col'>Nenhum resultado</th> </tr> </thead> <tbody id="conteudo"> <?php foreach($usuarios as $usuario) { ?> <tr> <?php if($_SESSION['admin']) { ?> <td align="center"> <?=$usuario['id_usuario']?> </td> <?php } ?> <td> <?=$usuario['nome_usuario']?> </td> <td align="center"> <?php if ($usuario['estado_usuario'] == 1) {echo "Ativo";} else {echo "Desativado";} ?> </td> <td align="center"> <?=$usuario['expira']?> </td> <?php if($_SESSION['admin']) { ?> <td align="center"> <?=$usuario['id_criador']?> </td> <?php } ?> <?php if($_SESSION['admin']) { ?> <td align="center"> <button class='btn btn-outline-danger' onclick="removerConfirma('<?=$usuario['id_usuario']?>', '<?=$usuario['nome_usuario']?>')"><i class="far fa-trash-alt"></i></button> </td> <?php } ?> <td align="center"> <button class='btn btn-outline-secondary' onclick="editarConfirma('<?=$usuario['id_usuario']?>','<?=$usuario['nome_usuario']?>','<?=$usuario['contato_usuario']?>','<?=$usuario['login_usuario']?>','<?=$usuario['estado_usuario']?>','<?=$usuario['admin']?>', '<?=$usuario['vendedor']?>', [<?php foreach (listasUsuario($usuario['id_usuario']) as $lista) echo $lista['id_lista'] .',' ?> ])"><i class="fas fa-user-edit"></i></button> </td> <td align="center"> <button class='btn btn-outline-secondary' onclick="verLogs('<?=$usuario['id_usuario']?>')"><i class="fas fa-clipboard-list"></i></button> </td> </tr> <?php } ?> </tbody> </table>
21/01/2020
Dinhonuneslc
<form id="cadastro-form"> <div class="container"> <div class="form-group"> <label>Nome:</label> <input type="text" class="form-control" name="nome" placeholder="Nome do usuário" required autofocus> </div> <div class="form-group"> <label>Login:</label> <input type="text" class="form-control" name="login" placeholder="Identificação do usuário" required> <small class="form-text text-muted">Único para cada usuário!</small> </div> <div id="sC"> <div id="divSenhaC" class="form-group"> <label>Senha:</label> <input type="password" class="form-control" name="senha" placeholder="Senha do usuário" required> </div> </div> <div class="form-group"> <label>Contato:</label> <input type="text" class="form-control" name="contato" placeholder="Contato do usuário"> </div> <div class="form-group"> <label>Cadastro:</label> <input type="date" class="form-control" name="cadastro" placeholder="<?php echo date("d-m-Y");?>"> </div> <div class="form-group"> <label>Nivel: </label> <div class="ml-0 row"> <select id="nivelC" class="selectpicker"> <?php if($_SESSION['admin']) { ?> <option value="admin">Administrador</option> <option value="vendedor">Vendedor</option> <?php } ?> <option value="cliente">Cliente</option> </select> </div> </div> <div class="form-group" style="display: none"> <label>Administrador:</label> <div class="ml-0 row"> <select value="0" id="adminC" class="selectpicker" title="Administrador..." name="admin" required> <option value="1">Sim</option> <option value="0">Não</option> </select> </div> </div> <div class="form-group" style="display: none"> <label>Vendedor:</label> <div class="ml-0 row"> <select value="0" id="vendedorC" class="selectpicker" title="Administrador..." name="vendedor" required> <option value="1">Sim</option> <option value="0">Não</option> </select> </div> </div> <div class="form-group"> <label>Listas:</label> <div class="ml-0 row"> <select name="lista[]" class="selectpicker" title="Listas..." multiple> <?php if ($listas) { foreach ($listas as $lista) {?> <option value="<?=$lista['id_lista']?>"><?=$lista['nome_lista']?></option> <?php } } ?> </select> </div> </div> <button type="none" onclick="addForce()" class="btn btn-primary">Adicionar</button> </div> </form>
21/01/2020
Dinhonuneslc
<?php if (!isset($_SERVER['HTTP_REFERER']) && !strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'] ) || !strpos($_SERVER['HTTP_REFERER'], 'usuario.php' )) { header('HTTP/1.0 403 Forbidden'); header("Location: ../index.php"); die(); } require_once('usuarios.php'); require_once('msg.php'); if(isset($_POST['nome']) && isset($_POST['contato']) && isset($_POST['login']) && isset($_POST['admin'])) { $nome = $_POST['nome']; $contato = $_POST['contato']; $login = $_POST['login']; $admin = $_POST['admin']; $vendedor = $_POST['vendedor']; $expira = $_POST['cadastro']; if (isset($_POST['senha'])) { $senha = $_POST['senha']; } else { $senha = ""; } if (isset($_POST['lista'])) { $lista = $_POST['lista']; } else { $lista = []; } if ($nome !== "" && $login !== "" && $admin !== "") { if (!adicionarUsuario($nome, $contato, $login, $senha, $admin, $vendedor, $lista, $expira)) { erro(); } } else { embranco(); } } else { invalido(); }
22/01/2020
Dinhonuneslc
Então, você quer que assim que a data de expiração da coluna seja alcançada pela data atual, o valor de "estado_user " seja alterado, certo?
Você quer que isso ocorra de forma automática?
Exatamente! Também preciso inserir a data do vencimento formulário de cadastro do usuário.
23/01/2020
Diego Silva
Esse seu sistema está num servidor local ou web?
Acredito que nesse caso, o que pode te ajudar é usar cron do servidor:
Alguns tópicos aqui do fórum já abordaram sobre isso:
https://www.devmedia.com.br/forum/envios-de-email-automatico/590533
https://www.devmedia.com.br/forum/sistema-de-post-agendado-em-php-como-fazer-isso/490837
Mas antes de prosseguir com isso, informe se o servidor que você está usando é web ou local
Clique aqui para fazer login e interagir na Comunidade :)