• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

mauro.edgar

Inicio de sessão

5 mensagens neste tópico

Boas pessoal...

Tenho um pequeno problema, que penso me irão ajudar, pois deve ser uma coisa fácil, mas para quem ainda é um bocado maçarico nisto qui vai:

Imaginem que tenho duas páginas, uma pag1.php e outra pag2.php, em que na pag1.php faço um login simples com user e password e o código que tenho é o seguinte:

<?php

//Iniciar Sessão
session_start();
function valida_utilizador($user,$pass){
	$ligacao= require_once 'ligacao.inc.php';
	$ligsql = "SELECT * FROM users WHERE user='$user' AND pass='$pass'";
	if(!$resultado=mysql_query($ligsql)){
		return false;
	}
	elseif (mysql_num_rows($resultado) != 1){
		return false;
	}
	else {
		return true;
	}
}

//Agora vamos passar as variaveis de post para a funao de verifica‹o de utilizador
$user = $_POST['user'];
$pass = $_POST['pass'];
if (valida_utilizador($user,$pass)){
	$_SESSION['user']= $user;
	$_SESSION['pass']= $pass;

//redireciona o utilizador para a pagina princial
header("Location: pag2.php");	
}
else {
	unset($_SESSION['user']);
	unset($_SESSION['pass']);
	session_destroy();
header("Location: login_erro.php");

}
?>

Até aqui tudo bem, mas o que pretendia era que quando escrevesse na barra de endereço pag2.php, ele não me deixasse abrir, ou seja, 1º tinha que fazer o login, mas não sei bem o que tenho de fazer na pag2.php para controlar a sessão!!!!

Espero que percebam o que queria transmitir

Grande abraço e Obrigadão :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

verificas se existe uma sessao iniciada se n existir redireccionas para pagina1.php

bom trabalho

<?php

         if (strlen($_SESSION['user'])==0 || strlen($_SESSION['pass'])==0)
            {
             unset($_SESSION['user']);
             unset($_SESSION['pass']);
             session_destroy();
             header("Location: login_erro.php");
           }

?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E podes dar-me um exemplo de código disso???

É isso mesmo .....

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja adicionei o codigo, se n funcionar assim tenta verificar se as variaveis $_SESSION['user'] e $_SESSION['pass'] existem como users na base de dados

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigadão

Já bomba!!!

Depois mostro o resultado daqui a uns dias...

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora