Ir para conteúdo

POWERED BY:

Arquivado

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

bateraaa

[Resolvido] Erro ao imprimir / mostrar nome do usuário logado (PH

Recommended Posts

Ae galera, beleza? Estou precisando da ajuda de vocês pro seguinte:

 

Estou tentando mostrar na tela o nome do usuário logado utilizando session. Ele entra no sistema mas na hora de puxar o nome dele pra mostrar na tela, não aparece!

 

Os códigos são:

 

O arquivo de formulário para login formlogin.php:

<html>
<head>
<title>Login</title>
</head>
<body>
<form name="form1" method="post" action="logando.php">
  <table width="350" border="0" cellspacing="0" cellpadding="0">
	<tr> 
	  <td colspan="4">Já é cadastrado? Entre aqui.</td>
	</tr>
	<tr> 
	  <td width="1%" rowspan="4"> </td>
	  <td colspan="3"> </td>
	</tr>
	<tr> 
	  <td>E-mail:</td>
	  <td colspan="2"><input name="cxmail" type="text" class="camposform" id="cxmail3" size="40" maxlength="255"></td>
	</tr>
	<tr> 
	  <td>Senha:</td>
	  <td colspan="2"><input name="cxsenha" type="password" class="camposform" id="cxsenha" size="40" maxlength="255"></td>
	</tr>
	<tr> 
	  <td> </td>
	  <td width="20%"><input name="Submit" type="submit" class="caixas" value="Entrar"></td>
	  <td width="63%"><input name="Submit2" type="reset" class="caixas" value="Limpar formulário"></td>
	</tr>
  </table>
	  </form>
</body>
</html>

O arquivo logando.php

<?php
	session_start;
	include "config.php";
	$mail=$_POST['cxmail'];
	$senha=$_POST['cxsenha'];
	if(empty($mail) or empty($senha))
	{
		$texto="Dados nulos ou inválidos<br><A HREF=java script:history.go(-1)>Voltar</a>";
		$_SESSION['erro']=$texto;
		include "404.php";
		exit;
	}
	else
	{
		$seleciona=mysql_query("select * from cadastros where mail='$mail' and senha='$senha'");
		$x=mysql_num_rows($seleciona);
		if($x==0)
		{
			$texto="Nome ou senha incorretos<br><A HREF=java script:history.go(-1)>Voltar</a>";
			$_SESSION['erro']=$texto;
			include "404.php";
			exit;
		}
		else
		{
			$_SESSION['usuario']=$mail;
			$_SESSION['senha']=$senha;
			include "session.php";
			exit;
		}
	}
?>

E o arquivo session.php (teste para visualizar o nome)

<html>
<head>
<title>Mostra</title>
</head>
<body>
mostra: <?php echo $_SESSION['usuario']; ?>
</body>
</html>

Só que depois de logado, ao abrir a página session.php não aparece o nome do usuário.

O que estou fazendo de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

no arquivo:

 

session.php

<?
ob_start();
session_start();
?>
<html>
<head>
<title>Mostra</title>
</head>
<body>
mostra: <?php echo $_SESSION['usuario']; ?>
</body>
</html>

E no logando também:

<?php
	ob_start();
	session_start();	
	include "config.php";
	$mail=$_POST['cxmail'];
	$senha=$_POST['cxsenha'];
	if(empty($mail) or empty($senha))
	{

...
?>

É provável que resolva

Compartilhar este post


Link para o post
Compartilhar em outros sites

no arquivo:

 

session.php

<?
ob_start();
session_start();
?>
<html>
<head>
<title>Mostra</title>
</head>
<body>
mostra: <?php echo $_SESSION['usuario']; ?>
</body>
</html>

E no logando também:

<?php
	ob_start();
	session_start();	
	include "config.php";
	$mail=$_POST['cxmail'];
	$senha=$_POST['cxsenha'];
	if(empty($mail) or empty($senha))
	{

...
?>

É provável que resolva

 

Olha.. fazendo isso ele até apareceu o nome do usuário, mas como estou usando uma query string pra aparecer o banner em cima e abrir as páginas abaixo do banner, aparece assim:

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\appserv\www\dgnovo\banner.php:68) in c:\appserv\www\dgnovo\session.php on line 2

mostra: as

 

as é o usuário e linha 2 é onde tem o session_start();

Se eu tirar o () deixando só session_start; aí não dá esse pau do Warning, mas daí não aparece o usuário. http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não se deve tirar o "()" do session_start

 

Como está utilizando query_string, você precisa colocar um session_start() na index ( ou pagina principal ) que esta chamando esses arquivos.

e tirar o session_start() das mesmas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não se deve tirar o "()" do session_start

 

Como está utilizando query_string, você precisa colocar um session_start() na index ( ou pagina principal ) que esta chamando esses arquivos.

e tirar o session_start() das mesmas.

Aeeee funcionou! Valeu cara!

Na linha 1 da query string coloquei

<?php session_start(); ?>
e tirei o session_start de todos os outros arquivos!!

 

Muito obrigado!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.