Qual o problema com a SESSION??? Os dados nao sao mantidos!!
[color=´#FF0000´]Olha o código fonte:
Na página inicial o usuário digita seu email e sua senha, o usuário então é logado(através de loginx.php) e na página inicial(logadox.php que tem os frames logado1x e logado2x) são exibidos seus dados registrados através de loginx.php em ´SESSION´.
Até aí tudo ok...
O problema é que após um reload ou após usar algum link(até mesmo o link que aponta para a própria página logado2x.php) a página perde os dados registrados em SESSION e assume os dados do ultimo registro da tabela ´tbusuarios´ do MySQL.
Algo errado?[/color]
HEEEEEEELLLLP!!!!!!!!!!!!!!!
Página: login.php
Página logadox.php
Página logado1x.php
Página logado2x.php
Página de logoutx.php
[color=´#FF0000´][b:1aea583cb0]O QUE HÁ DE ERRADOOOOOOO?????????????[/b:1aea583cb0][/color]
Na página inicial o usuário digita seu email e sua senha, o usuário então é logado(através de loginx.php) e na página inicial(logadox.php que tem os frames logado1x e logado2x) são exibidos seus dados registrados através de loginx.php em ´SESSION´.
Até aí tudo ok...
O problema é que após um reload ou após usar algum link(até mesmo o link que aponta para a própria página logado2x.php) a página perde os dados registrados em SESSION e assume os dados do ultimo registro da tabela ´tbusuarios´ do MySQL.
Algo errado?[/color]
HEEEEEEELLLLP!!!!!!!!!!!!!!!
Página: login.php
<?
include "conecta.php"; /*Conecta com o BD MySQL */
ob_start();
session_start();
//RECEBE OS DADOS DO FORMULÁRIO E RETIRA CODIGO MALICIOSO
// Recuperando informações.
$email = $_POST["email"];
$senha01 = $_POST["senha"];
// *** SÓ CONTINUA SE O EMAIL EXISTIR, TIVER 6 OU MAIS CARACTERES E @
if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@"))
{
// Verificando se as informações estão corretas.
$verifica = mysql_query("SELECT * FROM tbusuarios WHERE email = ´$email´ AND senha = ´$senha01´");
// Condicionando resultado conforme consulta.
// Verifica se retornou algo
$conta = mysql_num_rows($verifica);
if ($conta > 0)
{
$_SESSION[´nome´] = mysql_result($verifica,0,"nome");
$_SESSION[´idusuario´] = mysql_result($verifica,0,"idusuario");
$_SESSION[´email´] = mysql_result($verifica,0,"email");
$_SESSION[´nivelusuario´] = mysql_result($verifica,0,"nivelusuario");
$idauxiliar = $_SESSION[´idusuario´];
$auxiliar = mysql_query("SELECT * FROM tbusuarios1 WHERE tbusuarios_idusuario = ´idauxiliar´");
$_SESSION[´recado1´] = mysql_result($auxiliar,0,"recado1");
$_SESSION[´recado2´] = mysql_result($auxiliar,0,"recado2");
$_SESSION[´recado3´] = mysql_result($auxiliar,0,"recado3");
$_SESSION[´curso´] = mysql_result($auxiliar,0,"curso");
$_SESSION[´turno´] = mysql_result($auxiliar,0,"turno");
header("location: logadox.php");
}
else
{
echo "Deu erro!!!! Favor voltar e tentar novamente!";
echo "<form>";
echo "<input type=´button´ value=´ Voltar ´";
echo "onclick=´history.go(-1)´> </p>";
echo "</form>";
}
}
ob_end_flush();
?>
Página logadox.php
<head><title></title></head> <frameset rows="5¬,*¬" cols="*" border="0" frameborder="0" e framespacing="0"> <frame src="logado1.php" name="menu"> <frame src="logado2.php" name="conteudo"> </frameset> <noframes> <body></body> </noframes></html>
Página logado1x.php
<?
include "conecta.php"; /*Conecta com o BD MySQL */
ob_start();
session_start();
$nome = $_SESSION[´nome´];
$nivelusuario = $_SESSION[´nivelusuario´];
$idusuario = $_SESSION[´idusuario´];
$curso = $_SESSION[´curso´];
$turno = $_SESSION[´turno´];
?>
<html><head><title></title>
<style type="text/css">
<!--
body {
background-image: url(imagens/fd2.jpg);
}
body,td,th {
font-size: 11px;
}
-->
</style></head>
<body>
<center>
<table width="100¬" border="0">
<tr>
<td width="*¬"><div align="center"></div></td>
<td width="*¬">
<div align="center">
<?
if ($_SESSION[´nivelusuario´] = 1)
{
echo " | <a href=´logado2x.php´ target=´conteudo´>Inicio</a>";
$nivelusuariox = $_SESSION[´nivelusuario´];
if ($nivelusuariox == 3) {
echo " | <a href=´adusuarios.php´ target=´conteudo´>Administrar usuarios</a>";
}
echo " | <a href=´foto.php´ target=´conteudo´>Cadastrar foto</a>";
echo " | <a href=´faleconosco.php´ target=´conteudo´>Fale conosco</a>";
echo " | <a href=´logout.php´ target=´_top´>LOGOUT</a>";
}
?>
</div></td>
<td width="*¬"><div align="center">
<? echo "Usuario:" . $nome . "(" . $nivelusuario . "/" . $idusuario . ") - " . $curso . "/" . $turno; ?></div>
</td>
</tr>
</table>
</CENTER>
</body>
</html>
<? ob_end_flush(); ?>
Página logado2x.php
<?
include "conecta.php"; /*Conecta com o BD MySQL */
ob_start();
session_start();
$nome1 = $_SESSION[´nome´];
$idusuario1 = $_SESSION[´idusuario´];
$email1 = $_SESSION[´email´];
$nivelusuario1 = $_SESSION[´nivelusuario´];
$recado11 = $_SESSION[´recado1´];
$recado22 = $_SESSION[´recado2´];
$recado33 = $_SESSION[´recado3´];
$curso1 = $_SESSION[´curso´];
$turno = $_SESSION[´turno´];
$idauxiliar = $_SESSION[´idusuario´];
?>
<html><head><title></title>
<style type="text/css">
<!--
body { background-image: url(imagens/fd2.jpg); }
-->
</style></head>
<body>
<div align="center"><BR>
<? echo "<img src=´" . $fotousuario . "´>"; ?>
<?
echo "<BR>";
echo $nome1;
echo "<BR>";
echo $idusuario1;
echo "<BR>";
echo $email1;
echo "<BR>";
echo $nivelusuario1;
echo "<BR>";
echo $curso1;
echo "<BR>";
echo $turno1;
echo "<BR>";
?>
</div>
</body>
</html>
<? ob_end_flush(); ?>
Página de logoutx.php
<?
ob_start();
session_start();
session_destroy();
header("Location: index.html");
?>
<? ob_end_flush(); ?>
[color=´#FF0000´][b:1aea583cb0]O QUE HÁ DE ERRADOOOOOOO?????????????[/b:1aea583cb0][/color]
Dscj.tec
Curtidas 0
Respostas
Carlosphp
17/03/2008
O comando da session tem que ser o primeiro comando do programa php, antes de qualquer coisa.
Abraço
Abraço
GOSTEI 0