ava.rj 0 Denunciar post Postado Agosto 9, 2005 Fiz um sistema de autenticação, e na hora de acessar a página restrita, não reconhece a sessão: Arquivo verifica_login.php: PHP [*]<? [*]if(($_POST[login]) AND ($_POST[senha])){ [*] $login = $_POST[login]; [*] $senha = $_POST[senha]; [*] [*] session_start(); [*] $conec; [*] $bco; [*] $conectou = 0; [*] include "conecta.php"; [*] if ($conectou){ [*] $stgsql="SELECT nome, nivel FROM users_priscila [*] WHERE [*] login='$login' AND senha='$senha'"; [*] $res=mysql_query($stgsql,$conec); [*] if(mysql_num_rows($res)>0){ [*] $_SESSION[nome] = $nome; [*] $_SESSION[nivel] = $nivel; [*] $link="logado.php"; [*] header("Location:$link"); [*] } else { [*] header("Location:erro_login.php"); [*] } [*] } [*]} [*]?> Ele aceita a consulta e direciona para o logado.php Arquivo logado.php: PHP [*]<? [*]session_start(); [*] [*]// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less [*]if( (!isset($_SESSION[nome])) AND (!isset($_SESSION[nivel])) ) { [*] include "restrito.php"; [*]} else { [*] $nome = $_SESSION[nome]; [*] $nivel = $_SESSION[nivel]; [*]?> [*]... restante do site ... Aqui, ele não reconhece a sessão e manda o script para o restrito.php. O q tá eerado? Grato. Anderson Compartilhar este post Link para o post Compartilhar em outros sites
red neck * 0 Denunciar post Postado Agosto 9, 2005 hum... talvez o registers globais esteve off... procura usar string dentro de aspas... $_SESSION["nome"] mais gravar sessao e dar header() tem um bugzin... as vezes nao grava a sessao (eu ja tive esse problema com um sistema para uma cliente, me deu muitaaa dor de cabeca) mais gracas a Deus eu consegui resolver leia essa function http://br.php.net/manual/pt_BR/function.se...write-close.php ve se ela te ajuda []'s Compartilhar este post Link para o post Compartilhar em outros sites
ava.rj 0 Denunciar post Postado Agosto 9, 2005 ... mas pior é que eu uso um sistema igual em outro site que funciona !!! Está hospedado em outro servidor.Vou tentar fazer da mosa antiga, pra ver se funfa:session_register()[]s Compartilhar este post Link para o post Compartilhar em outros sites
ava.rj 0 Denunciar post Postado Agosto 11, 2005 register_globals = On E agora? http://forum.imasters.com.br/public/style_emoticons/default/sick.gif Compartilhar este post Link para o post Compartilhar em outros sites
ava.rj 0 Denunciar post Postado Agosto 11, 2005 Usei o modo antigo com session_register e funcionou ...PHP Version 4.3.11Nessa versão não aceita o $_SESSION não? Compartilhar este post Link para o post Compartilhar em outros sites
th4deu 4 Denunciar post Postado Agosto 11, 2005 Isso daí é o seguinte:Coloque o session_start() na primeira linha depois de <?Ou seja:<?session_start();Quando você passa valores em variaveis antes do session_start, ele dá erros como "headers already sent". Mas provavelmente o modo de "debug" do seu PHP está desabilitado!Tenta fazer isso e diz se funciona :) AbraçoeLoC Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Agosto 11, 2005 Cara aki no trabalho eu tive problema com session tb.... e o meu problema tava pq tinha a linha de comentário antes, naum sei pq deu esse problema, mas tirei a linha e funcionou certinho aki.... Compartilhar este post Link para o post Compartilhar em outros sites
ava.rj 0 Denunciar post Postado Agosto 14, 2005 Isso daí é o seguinte: Coloque o session_start() na primeira linha depois de <? Ou seja: <? session_start(); <{POST_SNAPBACK}> Fiz isso e não adianta. O lance é o seguinte... A consulta do banco dá positiva, então mando exibir o conteudo das variaveis e não aparece nada. PHP [*]<? [*]session_start(); [*] [*]if(($_POST[login]) AND ($_POST[senha])){ [*] $login = ($_POST["login"]); [*] $senha = ($_POST["senha"]); [*] [*] $conec; [*] $bco; [*] $conectou = 0; [*] include "conecta.php"; [*] if ($conectou){ [*] $stgsql="SELECT nome, nivel FROM users [*] WHERE [*] login='$login' AND senha='$senha'"; [*] $res=mysql_query($stgsql,$conec); [*] if(mysql_num_rows($res)>0){ [*] $_SESSION[nome] = $nome; [*] $_SESSION[nivel] = $nivel; [*] echo "Nome: ".$nome; [*] echo "<br>Nivel: ".$nivel; Não exibe nada, aparece só: Nome: Nivel: []s http://forum.imasters.com.br/public/style_emoticons/default/cry.gif vou chorar ... Compartilhar este post Link para o post Compartilhar em outros sites
Castor Jr. 0 Denunciar post Postado Agosto 14, 2005 olha seu codigo PHP [*]if(($_POST[login]) AND ($_POST[senha])){ [*] $login = ($_POST["login"]); [*] $senha = ($_POST["senha"]); usa assim PHP [*]if(($_POST["login"]) AND ($_POST["senha"])){ [*] $login = ($_POST["login"]); [*] $senha = ($_POST["senha"]); testa ai ... qualquer coisa posta ah da um echo nas variaveis $login e $senha para ver o conteudo delas. Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Agosto 14, 2005 PHP [*]<?php [*] [*]session_start(); [*] [*]if (($_POST['login']) && ($_POST['senha'])) [*]{ [*] $login = $_POST["login"]; [*] $senha = $_POST["senha"]; [*] [*] $conectou = 0; [*] include "conecta.php"; [*] [*] if ($conectou) [*] { [*] $stgsql = "SELECT nome, nivel FROM users [*] WHERE login='$login' AND senha='$senha'"; [*] [*] $res = mysql_query($stgsql, $conec) or die(mysql_error()); [*] [*] if (mysql_num_rows($res) > 0) [*] { [*] $rs = mysql_fetch_assoc($res); [*] extract($rs); [*] [*] $_SESSION['nome'] = $nome; [*] $_SESSION['nivel'] = $nivel; [*] echo "Nome: ".$nome; [*] echo " Nivel: ".$nivel; [*] } [*] else [*] { [*] echo "Dados inválidos!"; [*] } [*] } [*] else [*] { [*] echo "Não conectou!"; [*] } [*]} [*]else [*]{ [*] echo "Campo(s) em branco!"; [*]} [*] [*]?> Testa ae... Compartilhar este post Link para o post Compartilhar em outros sites
ava.rj 0 Denunciar post Postado Agosto 14, 2005 Castor Jr. Não adiantou, continua a mesma coisa, valeu http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Felipe Pena: PHP [*]if (mysql_num_rows($res) > 0)<br /> { <br /> $rs = mysql_fetch_assoc($res);<br /> extract($rs);<br /> <br /> $_SESSION['nome'] = $nome;<br /> $_SESSION['nivel'] = $nivel;<br />?> Testa ae... <{POST_SNAPBACK}> Agora funcionou !!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Dá uam explicada na diferença que estas linhas fizeram !! Valeu http://forum.imasters.com.br/public/style_emoticons/default/joia.gif []s Compartilhar este post Link para o post Compartilhar em outros sites
Castor Jr. 0 Denunciar post Postado Agosto 14, 2005 Uma que realmente você estava com problema nas aspas para receber o conteúdo foi onde eu mexi .... mas enfim, você estava apenas comparando o resultado da query para saber se estava retornando alum registro da base nessa linha if(mysql_num_rows($res)>0){ ai nosso amigo pena colocou o resultado da consulta num array associativo $rs = mysql_fetch_assoc($res); ai ele usou a função extract para importar variáveis a partir de um array extract($rs); segue o link para estudo da função extract http://www.php.net/manual/pt_BR/function.extract.php do resto era aspa mesmo mas nada melhor que nosso amigo Felipe para comentar seu proprio codigo tente só ajudar ai falou Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Agosto 14, 2005 É isso mesmo... $rs = mysql_fetch_assoc($res); extract($rs); Se $rs retorna um Array: Array ( [nome] => 'Valor do nome no bd', [nivel] => 'Valor do nivel do bd' ) Como é o de costume, chamar-mos: $rs['nomeDoCampo'];, mas com extract() a chave passa a ser a variavel contendo o valor referente a chave. Exemplo: $nomeDoCampo. É como fazem com 'variáveis variáveis' foreach ($_GET as $chave => $valor) $$chave = $valor; Daí ao invés de eu usar $_GET['var'] uso apenas $var, é como simulasse neste caso o register_globals=On. Espero ter conseguido explicar. []'s Compartilhar este post Link para o post Compartilhar em outros sites
ava.rj 0 Denunciar post Postado Agosto 14, 2005 O lance era este!! A consulta dava como dados válidos, mas na hora de printar não aparecia nada. Como eu fazia assim em outros provedores e funcionava, nunca tentei desta maneira. Brigado a todos !! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif []s Compartilhar este post Link para o post Compartilhar em outros sites