Ir para conteúdo
PeeWee

Manter usuário logado

Recommended Posts

Pessoal, estou precisando de um código que mantenha o usuário logado no sistema, pois o interessante é que assim que ele acessar o site nao precise logar outra vez. Estou utilizando esse código:   $_SESSION['log_me_out_at'] = strtotime(date("Ymd ")."23:59:59");

aparentemente nao funciona quando subi para o servidor, alguem tem uma dica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peguei um código imenso na web, alterei linhas, juntei a outro código meu e ainda falta ajeitar alguns detalhes, ficou tão grande que nem tem como por aqui. 

Compartilhar este post


Link para o post
Compartilhar em outros sites
33 minutos atrás, PeeWee disse:

Peguei um código imenso na web, alterei linhas, juntei a outro código meu e ainda falta ajeitar alguns detalhes, ficou tão grande que nem tem como por aqui. 

 

Para manter o "login" só se precisa de 1 linha de código de no máximo uns 30 caracteres.....

É só usar COOKIE

http://php.net/manual/en/function.setcookie.php

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 MasterJ
      nao consigo encontrar o erro neste codigo

       
      <?php  if(isset($_POST['btnLogin'])){   $email = trim($_POST['user_email']);   $upass  = trim($_POST['user_pass']);   $h_upass = sha1($upass);       if ($email == '' OR $upass == '') {       message("Invalid Username and Password!", "error");       redirect("login.php");               } else {     //it creates a new objects of member     $user = new User();     //make use of the static function, and we passed to parameters     $res = $user::userAuthentication($email, $h_upass);     if ($res==true) {         message("You logon as ".$_SESSION['ROLE'].".","success");       if ($_SESSION['ROLE']=='Administrator' || $_SESSION['ROLE']=='Student'){         $_SESSION['ADMIN_USERID'] = $_SESSION['USERID'];         $_SESSION['ADMIN_FULLNAME'] = $_SESSION['FULLNAME'] ;         $_SESSION['ADMIN_USERNAME'] =$_SESSION['USERNAME'];         $_SESSION['ADMIN_ROLE'] = $_SESSION['ROLE'];         unset( $_SESSION['USERID'] );         unset( $_SESSION['FULLNAME'] );         unset( $_SESSION['USERNAME'] );         unset( $_SESSION['PASS'] );         unset( $_SESSION['ROLE'] );          redirect(WEB_ROOT."admin/index.php");       }      }else{       message("Account does not exist! Please contact Administrator.", "error");        redirect(WEB_ROOT."admin/login.php");      }  }  }   ?>   
    • Por JoaoVituBR
      Olá, eu tenho 2 servidores (Socket.io Redis) comunicando entre si, e gostaria de saber se tem como, e como posso fazer que salve a sessão para que o usuário quando conectar no outro servidor ele não precise fazer login novamente.

    • Por Rafael Freitas
      Boa noite galera!
       
      Estou precisando de uma força, seguinte:
      Eu tenho um sisteminha de login e senha funcionando normalmente. Porém, a página que seria "restrita somente à usuários logado" está acessível para qualquer um, se esse tentar acessar pela url.
       
      Como faço pra restringir aquela página somente para quem estiver logado. Caso não esteja, direcionar para a página de login novamente.
       
      Segue o código:
      <?php session_start(); //Incluindo a conexão com banco de dados include_once("conexao.php"); //O campo usuário e senha preenchido entra no if para validar if((isset($_POST['email'])) && (isset($_POST['senha']))){ $usuario = mysqli_real_escape_string($conn, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection $senha = mysqli_real_escape_string($conn, $_POST['senha']); $senha = md5($senha); //Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário $result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $resultado = mysqli_fetch_assoc($resultado_usuario); //Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário if(isset($resultado)){ $_SESSION['usuarioId'] = $resultado['id']; $_SESSION['usuarioNome'] = $resultado['nome']; $_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id']; $_SESSION['usuarioEmail'] = $resultado['email']; if($_SESSION['usuarioNiveisAcessoId'] == "1"){ header("Location: administrativo.php"); }elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){ header("Location: colaborador.php"); }else{ header("Location: cliente.php"); } //Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário //redireciona o usuario para a página de login }else{ //Váriavel global recebendo a mensagem de erro $_SESSION['loginErro'] = "Usuário ou senha Inválido"; header("Location: index.php"); } //O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login }else{ $_SESSION['loginErro'] = "Usuário ou senha inválido"; header("Location: index.php"); } ?> Ainda estou começando no PHP,  quem puder dar uma força, agradeço! =)
       
      Abraço.
    • Por Keron
      Gente eu não estou conseguindo iniciar o session em php e realmente não consigo entender o motivo já tentei trocentas coisas que as pessoas sugeriram nos foruns, mas o session ainda assim não funciona

       
      arquivo index onde não recupera variáveis $_SESSION:
      <?php session_start(); ?> <!DOCTYPE html> <html> <head> <title>Pagina1</title> <link rel="stylesheet" href="css/style.css"/> </head> <body> <article id="newPrincipal"> <h1>Usuário id:<?php echo $_SESSION['userId']; ?></h1> </article> <h1>Result:<?php echo "Usuário id:".$_SESSION['userId']; ?></h1> </body> </html> <?php echo '<pre>'; print_r($_SESSION['userId']); echo '</pre>'; arquivo login:
       
      <?php if(isset($_POST['login-submit'])){ require 'dbh.inc.php'; $users = $_POST['nome']; $mailuid = $_POST['mailuid']; $password = $_POST['pwd']; $token; if(empty($mailuid) || empty($password)){ header("Location: ../header.php=emptyfields"); exit(); } else{ $sql = "SELECT * FROM users WHERE Usuarios=? AND email=?"; $stmt = mysqli_stmt_init($conn); if(!mysqli_stmt_prepare($stmt, $sql)){ header("Location: ../index.php?error=sqlerror"); exit(); } else{ mysqli_stmt_bind_param($stmt, "ss", $mailuid, $users); mysqli_stmt_execute($stmt); $result = mysqli_stmt_get_result($stmt); if($row = mysqli_fetch_assoc($result)){ $pwdCheck = password_verify($password, $row['pwdUsers']); if($pwdCheck == false){ header("Location: ../header.php?error=wrongpwd"); exit(); } else if($pwdCheck == true){ session_start(); $_SESSION['userId'] = $row['idUsers']; $_SESSION['userId2'] = $row['uidUsers']; $_SESSION['email'] = $row['emailUsers']; header("Location: ../index.php?login=".$_SESSION['userId']); } else{ header("Location: ../login.php?error=wrongpwd"); exit(); } } } } } else{ header("Location: ../index.php"); }  
      Eu tentei de todas as formas recuperar alguma informação usando o $_SESSION no arquivo index, mas não consegui
      Estou beirando o desespero, xoxo
       
                                                         
    • Por MachineMan
      com os dados já inseridos. Por favor. é só para um site de um trabalho da escola, então não precisa de MySqL, encontrei alguns, mas não funcionam, não sei o motivo.
×

Informação importante

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