neverdie Posted March 4, 2008 Report Share Posted March 4, 2008 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 Link to comment Share on other sites More sharing options...
Hipnoted Posted March 4, 2008 Report Share Posted March 4, 2008 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. "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência" Link to comment Share on other sites More sharing options...
pedrotuga Posted March 4, 2008 Report Share Posted March 4, 2008 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. Link to comment Share on other sites More sharing options...
neverdie Posted March 4, 2008 Author Report Share Posted March 4, 2008 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! Link to comment Share on other sites More sharing options...
pedrotuga Posted March 4, 2008 Report Share Posted March 4, 2008 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 Link to comment Share on other sites More sharing options...
neverdie Posted March 4, 2008 Author Report Share Posted March 4, 2008 Esta em $_SESSION['login'] ---------> 0 $_SESSION['validacao']---->1 que nao sao os valores esperados Devo ter algo trocado que me esta a escapar... Link to comment Share on other sites More sharing options...
maiden Posted March 4, 2008 Report Share Posted March 4, 2008 Boas, Atenção ao output buffer. Estás a inicializá-lo mas não estás a enviar o conteúdo para o broswer. ob_start(); //Codigo ob_end_flush(); Sobre o output buffer: Output Buffer Cumps, Link to comment Share on other sites More sharing options...
pedrotuga Posted March 4, 2008 Report Share Posted March 4, 2008 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now