Alterar valor em um banco de dados mysql usando uma data expecifica.

21/01/2020

0

Tenho um banco de dados em mysql, onde a tabela "usuario" tem as colunas

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

Dinhonuneslc

Responder

Post mais votado

22/01/2020

Fala Dinhonuneslc, tudo bem?

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

Diego Silva
Responder

Mais Posts

21/01/2020

Dinhonuneslc

usuario.php


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

Responder

21/01/2020

Dinhonuneslc

Formulário de cadastro


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

Responder

21/01/2020

Dinhonuneslc

adicionar-usuario.php


<?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();
}


Responder

22/01/2020

Dinhonuneslc

Fala Dinhonuneslc, tudo bem?

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

23/01/2020

Diego Silva

Dinhonuneslc,

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
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar