Ir para conteúdo
Matheus Avila

Preciso que o meu sistema salve a hora e a data que o usuário logou

Recommended Posts

Tudo bem pessoal? 

 

Estou começando agora a desenvolver e estou com uma grande duvida, criei a parte de login do sistema mas agora preciso que salve a hora e a data que o usuário entrou no sistema já tentei de vários métodos mas não obtive resultado, se alguém conseguisse me ajudar ficaria muito grato!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O esquema seria mais ou menos assim:

 

1 - Tu cria uma tabela para salvar a data de login;

SQL Exemplo:

CREATE TABLE IF NOT EXISTS `usuario_login` (
	`idLogin` INT NOT NULL AUTO_INCREMENT,
	`idUsuario` INT NOT NULL,
	`data_login` DATETIME NOT NULL,
	PRIMARY KEY (`idLogin`),
	FOREIGN KEY (`idUsuario`) REFERENCES `usuarios` (`idUsuario`)
);

 

2 - Depois de criar o login do usuário, tu vai retornar o ID do usuário logado;

3 - Logo em seguida, tu pega e faz um INSERT na tabela usuario_login.

 

Código Exemplo:

<?php

# VERIFICA CAMPOS
$email = isset ( $_POST [ 'email' ] ) ? $_POST [ 'email' ] : '';
$password = isset ( $_POST [ 'password' ] ) ? $_POST [ 'password' ] : '';

if ( empty ( $email ) || empty ( $password ) ) {
	echo "Erro: Preencha todos os campos!";
	exit;
}

# VERIFICA NO BANCO
$verifica = $stmt->prepare ( 'SELECT idUsuario FROM usuarios WHERE email = ? AND senha = ? LIMIT 1' );
$verifica->bindValue ( 1, $email );
$verifica->bindValue ( 2, $senha );

$verifica->execute ();

$usuarios = $verifica->fetch ( PDO::FETCH_OBJ );

if ( count ( $usuarios ) < 1 )
{
    echo "Erro: Email ou Senha incorretos!";
    exit;
}

# RETORNA ID
$_SESSION [ 'user_id' ] = $usuarios->idUsuario;

# INSERE DATA DE LOGIN
$data_login = date ( 'Y-m-d H:i:s' );

# INSERE NO BANCO
$inserir = $stmt->prepare ( 'INSERT INTO usuario_login ( idUsuario, data_login ) VALUES ( ?, ? )' );
$inserir->bindValue ( 1, $_SESSION [ 'user_id' ] );
$inserir->bindValue ( 2, $data_login );

if ( ! $inserir->execute () ) {
	echo "Erro: Erro durante o login";

	session_destroy ();
	die;
}

 

Lembrando que é só um exemplo, sendo assim, o mesmo pode não estar funcional.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Júnior César
      Estou batendo a cabeça na parte de vericaçao de dados existente no banco, nesse caso eu estou tentando verificar se o cpf digitado apos validado existe no banco, mas não esta funcionando, não se e o erro esta no javascprit ou na pagina php, sera que alguem consegue me ajudar? Obrigado
      segue as paginas:
      cadastro.html
      <html lang="pt-br"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="Classes/css/estilo.css"> <script src="js/jquery-1.7.2.min.js"></script> <script src="js/jquery.validate.min.js"></script> <script src="js/validacao.js"></script> <script> </script> <title><?php echo $acaoPagina ?></title> </head> <body> <header> <nav> <ul> <li><a href="index.php">Inicio</a></li> <li><a href="especialidades.php">Especialidades</a></li> <li><a href="cadastrarMedico.php"> Cadastrar Médico</a></li> <li><a href="cadastrarEspecialidades.php">Cadastrar Especialidades</a></li> </ul> </nav> </header> <main> <section> <div class="div-25 cadastro"> <h1> <?php echo $acaoPagina ?> </h1> <span id="resultado"></span> <form id="formulario" name="frmcpf" action="dadosMedico.php" method="POST" onsubmit="camposMedico();"> <input type="hidden" name="id" value="<?php echo $Medico->getId_medico() ?>"> <input type="text" name="nome" placeholder="Nome" value="<?php echo $Medico->getNome() ?>"> <input type="text" name="cpf" placeholder="CPF" value="<?php echo $Medico->getCpf() ?>"> <input type="date" name="nascimento" value="<?php echo $Medico->getNascimento() ?>"> <input type="email" name="email" placeholder="E-Mail" value="<?php echo $Medico->getEmail() ?>"> <input type="text" name="telefone" placeholder="Telefone" value="<?php echo $Medico->getTelefone() ?>"> <input type="text" name="watshapp" placeholder="Watshapp" value="<?php echo $Medico->getWhatswapp() ?>"> <input type="text" name="crm" placeholder="CRM" value="<?php echo $Medico->getCrn() ?>"> <input type="text" name="salario" placeholder="Salário" value="<?php echo $Medico->getMedia_salarial() ?>"> <select name="especialidade_medico"> <?php if($Medico->getEspecialidade_nome()&& $Medico->getId_especialidade()): echo"<option value='{$Medico->getId_especialidade()}'>{$Medico->getEspecialidade_nome()}</option>"; else: echo"<option>Especialidade</option>"; endif; $selectDados->dadosEpcialidade($Esp); ?> </select> <input type="submit" value="<?php echo $submit ?>" onclick="camposMedico();"> </form> </div> </section> </main> <footer> </footer> </body> </html> ------------------------------------------------------------------------------------------------------------------
      validacao.js
      function init() { $("#formulario").validate({ rules: { nome: { required: true }, cpf: { required: true, verificaCPF: true }, nascimento: { required: true, verificaIdade: true } }, messages: { nome: { required: "Campo Nome Obrigatório " }, cpf: { required: "Campo CPF Obrigatório" }, nascimento: { required: "Campo Nascimento Obrigatório" } } }); } jQuery.validator.addMethod("verificaCPF", function (value, element) { value = value.replace('.', ''); value = value.replace('.', ''); cpf = value.replace('-', ''); while (cpf.length < 11) cpf = "0" + cpf; var expReg = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/; var a = []; var b = new Number; var c = 11; for (i = 0; i < 11; i++) { a = cpf.charAt(i); if (i < 9) b += (a * --c); } if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11 - x } b = 0; c = 11; for (y = 0; y < 10; y++) b += (a[y] * c--); if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11 - x; } if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]) || cpf.match(expReg)) return false; var verifica=false; jQuery.ajax({ url: 'teste.php?cpf='+cpf, async: false, success: function(data) { if(data == 0) verifica = true; }}); if(!verifica) return false; return true; }, "Informe um CPF válido."); jQuery.validator.addMethod("verificaIdade", function (value, element) { var data = new Date(); value = value.split("-"); nascimento = value; var anos = data.getFullYear() - nascimento[0]; if (nascimento[1] > data.getMonth()) { anos -= 1; } else if (nascimento[1] == data.getMonth()) { if (nascimento[2] > data.getDate()) { anos -= 1; } } if (anos <= 22) { return false; } return true; }, "A idade não pode ser menor que 22 anos "); $(document).ready(init);
         ----------------------------------------------
      teste.php
       
      <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <?php #Verifica se tem um email para pesquisa //$emailPostado = "jrcjuniorcesar@gmil.com"; if(isset($_GET['cpf'])){ #Recebe o Email Postado $emailPostado = $_GET['cpf']; #Conecta banco de dados $con = mysqli_connect("localhost", "root", "", "crud"); $sql = mysqli_query($con, "SELECT * FROM medicos where cpf ='{$emailPostado}'") or print mysqli_errno($con); #Se o retorno for maior do que zero, diz que já existe um. $valor; if(($sql) AND ($sql->num_rows != 0)){ while($linha= mysqli_fetch_assoc($sql)){ $valor = $sql->num_rows. "<br>"; } }else{ $valor = 0; } echo $valor; } ?> </body> </html>  --------------------------
      Banco de dados

       
      create database crud; use crud; create table especialidades( cod int auto_increment, especialidade varchar (45), primary key(cod) ); create table medicos( id int auto_increment, nome varchar(45), nascimento date, cpf varchar(11) unique key, crm varchar(10), email varchar(35) unique key, telefone varchar(12), whatsapp varchar(12), salario double, especialidade_medico int, primary key(id), foreign key(especialidade_medico) references especialidades(cod)  
    • Por ruiva21
      Bom dia galera, estou tentado editar usuários por meio de um modal, mas ele não está chamando os campos devidamente. Primeira postagem minha e já vai um mega código rs. Quem puder dar uma força aí eu agradeço muito !
       
      Print do código php que seleciona os usuários cadastrados e mostra as opções de edição e exclusão abaixo.
       
       
       
       
       


       

    • Por Matheus Avila
      Bom dia, Tudo bem ? queria salvar o seguinte formulário no banco de dados mas de forma automática sem precisar aperta o input  
       

       
      <!DOCTYPE html> <html> <head> <title></title> </head> <body> <?php $data = date('Y-m-d'); $hora = date('H:i:s'); ?> <form method="POST" action="#"> <input type="date" name="data" value="<?php echo $data ?>"> <input type="time" name="hora" value="<?php echo $hora ?>"> <input type="submit" name="enviar"> <?php include ('conexao.php'); $conexao = "INSERT INTO matheus (data, hora) VALUE ('$data', '$hora')"; $query = $mysqli->query($conexao) ?> </form> </body> </html>  
    • Por jean amaro
      Galara preciso de um help!!!
       
      Queria fazer uma consulta com php em um arquivo xml através de um link inserido no html. A consulta seria feita através de um <form> e seria necessário que tivesse uma função tipo essa abaixo, mas que precisa ser feita em um arquivo xml.
       
      SELECT * FROM articles WHERE MATCH (title,body) -> AGAINST ('+MySQL +YourSQL' IN BOOLEAN MODE); .
       
       
       
    • Por Manuell Young
      include('conecta.php'); $sql = mysql_query("SELET * FROM cliente ORDER BY nome asc"); while($exibe = mysql_fetch_assoc($sql));   echo "<a href='#'>Editar</a>"; echo $exibe['codigo_cliente']."|"; echo $exibe['nome'] . "|";; echo $exibe['data_nasc'] . "|"; echo $exibe['sexo'] . "|"; echo $exibe['cidade'] . "|"; echo $exibe['email'] . "|"; echo $exibe['usuario'] . "|"; echo $exibe['senha'] . "|"; echo "<a href ='#'>Remover</a><br>";   endwhile;//ESTA DANDO ERRO AQUI   
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.