Fórum Alterar valor em um banco de dados mysql usando uma data expecifica. #607623
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
Curtir tópico
+ 0Post 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
Gostei + 1
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>
Gostei + 0
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>
Gostei + 0
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();
}
Gostei + 0
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.
Gostei + 0
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)