Ir para conteúdo

POWERED BY:

Arquivado

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

Manuel Pernavia

Erro ao autenticar por sessão

Recommended Posts

Warning: Cannot send session cookie - headers already sent by (output started at c:\apache\htdocs\os2\login.php:5) in c:\apache\htdocs\os2\login.php on line 24

 

Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\os2\login.php:5) in c:\apache\htdocs\os2\login.php on line 24

 

 

Esses erros aparecem quando autentico em uma página via sessão.

Alguem pode me ajudar?

 

Manuel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou.

 

Dá uma olhada, por favor!!!

 

<?	include 'functions.php';	@session_start();		if ((isset($_POST['usr'])) && (isset($_POST['pwd']))) //se o usuário digitou o login e senha na pagina login.html	{		$usr = $_POST['usr'];		$pwd = md5($_POST['pwd']);			conexao();//conexão com BD		$query = "select * from login where nom_usr='$usr' and pwd_usr='$pwd'";		$resultado = mysql_query ($query) or die ("Erro na execução do query. ".mysql_error());		if (mysql_num_rows($resultado) == 0)		{			echo "<font face='verdana' color='#FF0000'><strong>Falha na autenticação!</strong></font><br><br>				  <a href='login.html'><font face='verdana' size='4'>Tentar novamente!</font></a>";		}		else		{			//se o usuario estiver cadastrado, registra a sessão			$_SESSION['valido'] = $usr;			echo "<p><br>";			echo '<P ALIGN=CENTER><FONT SIZE=4 face="Verdana, Arial, Helvetica, sans-serif"><strong>Você se autenticou como <em>'.$_SESSION['valido'].'</em></strong></FONT></p><p><br><br>';			echo "<font face='verdana' size='2'><strong><a href='indexadmin.php'>Ir para página administrativa</a></strong></font></p><br></p>";				}	}			echo '<p><img src="figuras/linha.bmp"></p>';	echo '<p align="center"><font size="1" face="Verdana">Página de relatórios desenvolvida por: Informática IGEN </font><br><br>';	  if (isset($_SESSION['valido']))	{		  echo '<center><font size="1" face="Verdana"><a href="logoff.php"><b>Efetuar Logoff</b></a></font></center>';		  }  ?>

Abraços, Manuel

 

onde tenho que colocar o session_start()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Duas coisinhas que eu notei:

- O session_start deve ir antes da include

- Pra salvar a sessão ao invés de:

$_SESSION['valido'] = $usr;
tu faz

session_register("nome_da_variavel_sem_dolar");
Espero que tenha esclarecido...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou citar um exemplo:

<?phpsession_start();//variável que eu vou gravar na sessão$usuario = "mauro";//salvo o valor da variável usuario na sessaosession_register("usuario");//imprimo o valor da variável que está na sessãoecho $_SESSION[usuario];?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele fez o login mas para escrever da maneira que você explicou não esta funcionando.Registra sessão:session_register(usr);Escreve sessão:($_SESSION[usr]tentei com aspas tbm:($_SESSION['usr']Não funcionou!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segundo o Manual, não se deve usar session_register() quando register_globals está desabilitado:

 

Cuidado

 

Se você quer que seu script funcione independentemente do uso de register_globals, você precisa usar a matriz $_SESSION já que $_SESSION é automaticamente registrada. Se o seu script usa session_register(), ele não irá funcionar em ambientes onde a diretiva de configuração register_globals esteja desabilitada.

Fonte: http://br.php.net/session_register

 

Como o padrão do register_globals é off, é melhor não usar essa função.

 

 

 

Se você usar $_SESSION[] também dá erro?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o seguinte:Quando eu testo a página de login, utilizo o seguinte comando:$_SESSION['valido'] = $usr;ai, ele recebe o nome do usuário, por exemplo:echo $_SESSION['valido'] (Mostra na tela 'informatica', por exemplo)Mas mesmo fazendo o login ele mostra aquele erro na tela... só também tem o seguinte... para algumas páginas que eu passo a sessão.. mais ou menos a 3ª página depois da página de login, ele não passa a variavel de SID pelo link...ou seja, mostra um erro de autenticação na tela..Light?Valew!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Percebi uma coisa.

 

Por exemplo:

 

Eu estou logado normalmente, mas quando, em uma determinada página, preciso passar alguma variável por link (ex: para consulta de algum cliente), ele não passa nem a variável pelo link e nem a sessão que esta aberta.

 

Alguem sabe como posso fazer?

 

Ou melhor, não precisa ser necessariamente por link, pode ser via POST tbm...

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.