Ir para o conteúdo
neverdie

establecer sessoes com php

Mensagens Recomendadas

neverdie    0
neverdie

Bom dia,

Tou sempre  a pedir que me ajudem, ainda nao ajudei muito os outros porque ainda nao tenho muitos conhecimentos...

É o seguinte:

tenho a pagina "login.php" com o segunte codico:




<?php

ob_start();

//colocar a validacao dos dados

include ("ligando.php");

$login = $_POST['login'];
$password = $_POST['password'];

//faz a confirmação de nome e senha no db

$login = mysql_query("SELECT * FROM inde WHERE login='$login' AND password='$password'") or die("erro");

if ( mysql_num_rows($login)==1 ){

$validacao = 1; 

session_start();

$_SESSION['login'] = $login;
$_SESSION['validacao'] = $validacao;

header ("Location: login_valido.php");

}

else{

?>
<script type="text/javascript">
alert("Login ou senha incorreta")
</script>
<?

echo "<a href=index.html>VOLTAR</a>";

}

?>




A pagina "login_valido.php", com o seguinte codigo:


<?
ob_start();
session_start();


echo $validacao;   //aqui nao esta a funcionar
echo $login;	   //aqui tambem nao esta a funcionar

if ($validacao == 1){

echo "o utilizador esta logado";

}

else

echo "a variavel validacao nao esta a 1";

?>


o que acontece é que as variaveis $login e $validacao esta vazias

Alguem sabe qual sera o problema?

Cumprimentos

Marco

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Hipnoted    6
Hipnoted

Não as instanciaste antes... Ao usares o header ele vai-te redireccionar para outro ficheiro, ou seja as variáveis que tinhas instanciado no outro não têm nada a ver com o novo.

Usa o include, pode ser que seja aquilo que estás à espera.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Essas variáveis não têm conteudo porque não existem no contexto em que as tentas imprimir.

Deves ter lido um tutorial bastante antigo, que recorria a uma coisa chamada register globals. Actualmente quase nenhuma instlação do php tem essa directiva activa.

As variáveis às quais tens acesso são as que estão no array $_SESSION. As variáveis instancializadas normalmente como $login, só existe desde a sua criação até ao final da execução do script.

Se puseres isto:

echo $_SESSION['login'];

echo $_SESSION['validacao'];

obterás o resultado que queres. E até é mais simpels de perceber.

Mas uma pergunta, para que é que queres passar um mysql resultset de uma pagina para a outra? Não tem lá nenhuma informação pronta a usar directamente.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
neverdie    0
neverdie

Ola!

Obrigado pelas vossas respostas, mas acontece que mesmo com o

echo $_SESSION['login'];

echo $_SESSION['validacao'];

continua sem funcionar....

Para responder ao pedrotuga eu presiso de ter la o login do utilizador para depois fazer consultas na base de dados...

mas essa parte ainda nao ta feita!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

isso é porque está aí qualquer outra coisa mal.

poe isto então:

echo "<pre>";
print_r( $_SESSION['login']);
print_r ($_SESSION['validacao']);
echo "</pre>";

assim podes ver exactamente o que está na variável

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
neverdie    0
neverdie

Esta em

$_SESSION['login'] ---------> 0

$_SESSION['validacao']---->1

que nao sao os valores esperados

Devo ter algo trocado que me esta a escapar...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Esta em

$_SESSION['login'] ---------> 0

$_SESSION['validacao']---->1

que nao sao os valores esperados

Devo ter algo trocado que me esta a escapar...

Esses são os valores esperados.

Já agorai... isso ob_start.... porque é que tas a inicializa-lo manualmente?

Podes suprimir essa linha. Não serve para nada.

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade