Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rob_Bor

[Resolvido] Verificar se o usuario está logado.

Recommended Posts

Boa tarde pessoal do fórum.

 

Estou com outra dúvida, mais creio que seja simples.

 

Seguinte, Fiz uma página de login para entrar no sistema que estou desenvolvendo, deu certo.

 

Se o usuario e senha nao coincidirem ele da erro, se tiver correto ele entra na página do sistema.

 

o código que eu usei foi esse:

 

 if ($_POST['entrar_administrador']){

 	 if($_SERVER['REQUEST_METHOD']=='POST'){

 		$administrador 			=		 $_POST['administrador'];
 		$senha_administrador	=		 $_POST['senha_administrador'];

 			$dados_administrador = $query->selecionar('tb_cad_administrador', array(), "usuario_administrador = '$administrador' and senha_administrador = '$senha_administrador'");

 			if(count($dados_administrador)){
 				session_start();
 				$_SESSION['logado'] = true;
 				header("location: home.php"); 	

 			} else {
 				echo "Usuário e senha estão incorretos.";
 			}
 		}
 }

 

Bom, eu fiz isso pesquisando em outros tutoriais. tenho 3 dúvidas para ser sanadas.

 

a primeira, qual a função do $_SERVER['REQUEST_METHOD']=='POST' ?

 

Segunda, se eu entrar direto em outra página, ele entra normalmente, gostaria de saber, o que devo colocar em cada página para fazer uma verificação se o usuário esta logado, se nao, ele volta pra página principal.

 

a terceira dúvida, é que mais pra frente vou ter que fazer umas permissões, e gostaria de saber QUAL usuário está logado no sistema, para saber se ele tem permissão em algum registro que eu determinar..

 

podem me ajudar ??

 

Valew galera, boa tarde...

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

1ª duvida: O $_SERVER[ 'REQUEST_METHOD' ] é uma variavel global do servidor, e acho retorna o tipo de requisição (GET, POST...), nao tenho certeza...

 

2ª duvida: você precisa armazenar o "usuario logado" com SESSIO ou COOKIE por exemplo

 

3ª duvida: não ficou muito claro o que você ker fazer... :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde gugoan,

 

2º Dúvida, como faria isso? armazenando usuario logado com session ou cookie ?

 

e 3º dúvida, é permissões, tipo, se foi o usuario X que fez algum cadastro, ele poderá LER, e EDITAR o conteudo que ele cadastrou, o usuário Y só pode ler o que o usuário X cadastrou, e nao editar?

 

deu pra entender?

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

2ª duvida: Bom para fazer isso, te recomendo as seguintes leituras:

 

 

3ª duvida: você pode criar no banco de dados um campo que seria o tipo de permissão do usuário, e fazer a verificação de acordo com o valor do campo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sobre a Terceira dúvida, já tinha pensado nisso, vou fazer, qualquer coisa pergunto aqui denovo..

 

e sobre a leitura, vou ler cara..

 

valew.. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sobre a Terceira dúvida, já tinha pensado nisso, vou fazer, qualquer coisa pergunto aqui denovo..

 

e sobre a leitura, vou ler cara..

 

valew.. :D

Bom nesta 3 duvida você vai ter que trabalhar com nivel

tipo se nivel de acesso for 1 vai exibir tal coisa se for 0 vai exibir tal coisa

na segunda duvida te aconselho a criar um script separado

chamado tipo protect.php

neste arquivo fazer a proteção

pra ver se ta logado

vou colocar um exemplo simples aki

<?php

if(!isset($_SESSION['login']) and !isset($_SESSION['senha'])){ //os nomes da sessao no caso to mostrando se for login e senha
echo "<script>location.href='index.php'</script>"; //aki o cara vai pra index.php se nao tiver logado  
}


?>


depois que você criar o protect.php

só usar o include nas paginas que tem que ter proteção entendeu

tipo include("protect.php");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cry, obrigado pelo comentário.

 

e sobre o protect, eu entendi. valew,

 

agora na session, como pode ver eu tenho essa aqui na página de login:

 

if($_SERVER['REQUEST_METHOD']=='POST'){

                       $administrador                  =                $_POST['administrador'];
                       $senha_administrador    =                $_POST['senha_administrador'];

                               $dados_administrador = $query->selecionar('tb_cad_administrador', array(), "usuario_administrador = '$administrador' and senha_administrador = '$senha_administrador'");

                               if(count($dados_administrador)){
                                       session_start();
                                       $_SESSION['logado'] = true;
                                       header("location: home.php");   

                               } else {
                                       echo "Usuário e senha estão incorretos.";
                               }
                       }

 

de acordo com as sessions que voce montou de exemplo, como ficaria para verificar se o usuário já esta logado ou nao?

 

só para eu entender melhor, que ainda estou com dúvidas.. valeww...

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o seguinte o problema é que você nao criou a sessao

 

olha tem que criar elas primeiro

if($_SERVER['REQUEST_METHOD']=='POST'){
      session_start(); //primeiro tenho que começar elas                            
  $administrador          = $_POST['administrador'];
  $senha_administrador    = $_POST['senha_administrador'];
//vamos criar aki
    $_SESSION['login'] = $administrador; //criei a sessao login
    $_SESSION['senha'] = $senha_administrador; //criei a sessao senha

  $dados_administrador = $query->selecionar('tb_cad_administrador', array(), "usuario_administrador = '$administrador' and senha_administrador = '$senha_administrador'");

  if(count($dados_administrador)){
  session_start();
  $_SESSION['logado'] = true;
  header("location: home.php");   

  } else {
  echo "Usuário e senha estão incorretos.";
  }
  }

agora vai poder ser chamado pelo protect

tenta ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criei o arquivo protect, com esse conteudo que me passou:

 


if(!isset($_SESSION['login']) and !isset($_SESSION['senha'])){ //os nomes da sessao no caso to mostrando se for login e senha
echo "<script>location.href='index.php'</script>"; //aki o cara vai pra index.php se nao tiver logado  
}

 

a alterei o arquivo de login. Mas ele sempre está retornando para o index.php mesmo sendo digitado usuario e senha.

 

era isso mesmo pra fazer?

 

se ao for, desculpe, nunca trabalhei com session...

 

Valeww..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criei o arquivo protect, com esse conteudo que me passou:

 


if(!isset($_SESSION['login']) and !isset($_SESSION['senha'])){ //os nomes da sessao no caso to mostrando se for login e senha
echo "<script>location.href='index.php'</script>"; //aki o cara vai pra index.php se nao tiver logado  
}

 

a alterei o arquivo de login. Mas ele sempre está retornando para o index.php mesmo sendo digitado usuario e senha.

 

era isso mesmo pra fazer?

 

se ao for, desculpe, nunca trabalhei com session...

 

Valeww..

 

ele tem que retornar se o cara tentar entrar em uma pagina fechada e nao logou ai sim tem que retornar]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, valew pelo tuto,

 

mais segui corretamente e continua dando o mesmo problema. olha,

 

na minha página de login está assim:

 

if ($_POST['entrar_administrador']){

 	 if($_SERVER['REQUEST_METHOD']=='POST'){


 	 	$administrador = str_replace("'","", $_POST['administrador']);
       	        $senha_administrador = str_replace("'","",$_POST['senha_administrador']);

$_SESSION['administrador'] = $administrador;
	        $_SESSION['senha_administrador'] = $senha_administrador;
	        $sql = mysql_query("select * from tb_cad_administrador where usuario_administrador = '$administrador' and senha_administrador = '$senha_administrador'");
	        if(mysql_num_rows($sql) == 0){
	        echo "nao foi encontrado registro";
	        }else{
	        echo "<script>location.href='cad_usuario.php'</script>";
	        }
}
}

 

Ai na página que cad_usuario.php onde é direcionado ta assim:

 

{php}
	include("./protect.php");
{/php}
{include file="1_cabecalho_administrador.tpl"}
{include file="c_usuario.tpl"}
{include file="3_rodape.tpl"}

 

e no protect.php está assim:

 

  <?php
if(!isset($_SESSION['administrador']) and !isset($_SESSION['senha_administrador'])){
echo "<script>location.href='index.php'</script>";
}
?>


 

e ele continua me mandando SEMPRE pra página de login, o que devo fazer?

 

Valeww

 

Ninguem pra me ajudar? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpa a demora é por que eu tinha saido

{php}

include("./protect.php");

{/php}

{include file="1_cabecalho_administrador.tpl"} <<-- ta parecendo ASP

{include file="c_usuario.tpl"} <<-- ta parecendo ASP

{include file="3_rodape.tpl"} <<-- ta parecendo ASP mais pelo que eu conheco é <!--# include file="arquivo.asp" -->

 

olha esse código ta estranho

faz assim

<?php
include("../protect.php");
include ("1_cabecalho_administrador.tpl"); 
include ("c_usuario.tpl"); 
include ("3_rodape.tpl"); 
?>

 

me mostra a parte do seu formulario pra mim saber como esta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cry, fica tranquilo sem problemas.

 

mais sobre os includes que você falou, é realizado em smarty, dentro de um arquivo .tpl

 

mais eu já consegui aqui por outro tutorial, mas mesmo assim obrigado.

 

Descobri o erro, e o tutorial que você me passou da certo.

 

pra galera ai que tem a mesma duvida, pode seguir o tutorial que o cry passou a cima.

 

Valew pessoal..!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cry, fica tranquilo sem problemas.

 

mais sobre os includes que você falou, é realizado em smarty, dentro de um arquivo .tpl

 

mais eu já consegui aqui por outro tutorial, mas mesmo assim obrigado.

 

Descobri o erro, e o tutorial que você me passou da certo.

 

pra galera ai que tem a mesma duvida, pode seguir o tutorial que o cry passou a cima.

 

Valew pessoal..!!

TOpico fechado estamos sempre dispostos a ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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