bateraaa 0 Denunciar post Postado Março 5, 2009 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
~TiuTalk~ 7 Denunciar post Postado Março 5, 2009 Na session.php, quando ela for acessada pelo browser diretamente, você também precisa do session_start(); Compartilhar este post Link para o post Compartilhar em outros sites
mr.Guardião 0 Denunciar post Postado Março 5, 2009 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
bateraaa 0 Denunciar post Postado Março 5, 2009 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
.:: Pegasus ::. 0 Denunciar post Postado Março 5, 2009 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
bateraaa 0 Denunciar post Postado Março 5, 2009 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