Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Thaynara H. Do Amaral

Como Fechar sessão de login PHP?

Recommended Posts

Olá , estou desenvolvendo um sistema de CRUD , o problema é que na hora de logar esta indo perfeitamente , quando ele loga vai direto para a página do ADM , quando vou para fazer logout ele sai normal , porém se eu clicar na seta do navegador  para voltar, ele retorna normalmente na parte administrativa sem pedir senha e usuário. Será que tem algum código que possa resolver? Segue o código da página de logout :

 

<?php
    session_start();
    $_SESSION = array();
    session_destroy();
    header("Location: index.html");
?>

 

Desde já agradeço :)

Editado por DiF
Botão CODE <>

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Thaynara H. Do Amaral

Se o que quer é , que verifique se existe uma sessao para poder acessar a pagina pode usar um if como no exemplo :

<?php
  session_start();
  if(isset($_SESSION['sessao']))	//verifica se sessao foi setada
  {

  }else{															

      header("location:index.html"); //se nao foi então manda para index.html
  } 
?>

 

Editado por luscas
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, é quase isso. Só está faltando umas partes importantes na pagina administrativa.

 

Segue um modelo de como uso o autenticador do crud e como redirecionar para o login se sair e se clicar no botão de voltar, ele manda para a página de login de novo.

 

ValidaUsuario.php

?php
session_start();
	
	$login = $_POST["login"];
	$senha = $_POST["senha"];
	$login_escape = addslashes($login);
	$senha_escape = addslashes($senha);
	
	
	if (empty($login) or empty($senha)) :
                  echo "<script>
                                alert('Preencha todos os campos');
                                history.go(-1);
                          </script>";
                  exit;    
              endif;
	
	
	include '../conexao/conexao.php';
	
	$sql = "SELECT idAdmin, nome ,login, senha, ultimoacesso FROM admin WHERE login ='$login_escape' AND senha = '$senha_escape' ";
	$dados = mysqli_query($conecta, $sql);
	$num = mysqli_num_rows($dados);
	
	if ($num == 0):
	         echo "<script>
	         alert('Usuario ou senha Incorreta');
	         history.go(-1);
	          </script>";
	    exit;
	else :
		
		while($admin = mysqli_fetch_object($dados)):
			$coduser = $admin->idAdmin;
			$nome    = $admin->nome;
			$ultimoacesso = $admin->ultimoacesso; 
		
			
		$_SESSION["codusuario"] = $coduser;
		$_SESSION["nome"] = $nome;
		$_SESSION["login"] = $login;
		$_SESSION['ultimoacesso'] = $ultimoacesso;
		
		
		header ("Location: view/admin.php");
		endwhile;	
	endif;
 	 mysqli_close($conecta);
?>

Este código do validaUsuario.php é aquele arquivo que fica no action do formulário de login

 

Por exemplo:

 

<form method="post" action="validaUsuario.php">
     <input type="text" name="email" />
     <input type="password" name="senha" />
     <input type="submit" value="Entrar"/>
</form>  

Depois de ter feito isso, armazenado na session o nome de usuario,  login, ID do usuário... 

Você coloca o seguinte trecho bem no início do seu php do arquivo PaginAadmin.php

 

<?php 
session_start();
	setcookie("ck_authorized", "true", 0, "/");
	date_default_timezone_set("Brazil/East");
	
  //testa a sessão.  envia para o index.html(formulario de login)
  //se não existir valor na sessão de login 
	if(!isset($_SESSION["login"])):
		header("location: ../index.html"); 
	else:
		$login = $_SESSION["login"];	
		$ultimo = $_SESSION['ultimoacesso'];
		$idAdmin = $_SESSION["codusuario"];
		$nome = $_SESSION["nome"];
		
	require '../../conexao/conexao.php';	
	
      /*esta parte é desnecessária
          mas vou deixar, pois mostra com seria
          a parte de gravar sempre o ultimo acesso no sistema
       */
		$data = date('Y-m-d H:i:s'); 
		$sqldata = "UPDATE admin SET ultimoacesso= '$data' WHERE idAdmin='$idAdmin'";
		$dados = mysqli_query($sqldata);	
		
		$separaData = explode(" ", $ultimo);
		$dataNova = $separaData[0];
		$hora = $separaData[1];
	endif;
?>

Este bloco é importante porque ele testa se existe valor na variável de sessão.  Se não existir(deslogado) , mesmo se tentar entrar direto na página restrita ela te envia de volta para o login . por isso que ela é importante que fique como primeira coisa no arquivo página_restrita.php 

Editado por DiF
  • Curtir 1

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






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×