En cada página, tengo un código que comprueba si hay una sesión iniciada, de ser así, arriba a la izquierda se muestra el nombre del usuario, con la opción de salir. Esto se mantiene poco tiempo, luego de recorrer 2 o 3 secciones, el nombre del usuario se reemplaza por la palabra root, como si se perdiera la variable que trae el nombre del usuario logueado. Me gustaria una solucion para eso, que hace rato que vengo probando cosas, y nada surte efecto.
Les dejo los códigos:
Formulario de ingreso, que inicia la sesión:
Código PHP:
<?
if ($_SESSION["validar"] == "autorizado")
{
$msjsesion = "<span class=valid>Sesión iniciada.</span>";
}
else
{
if (isset($_POST['ingresar']))
{
$user = $_POST["user"];
include("admin/config.php");
$link = mysql_connect($servidor, $usuario, $pass);
$bd = mysql_select_db($basedato, $link);
$sql = "SELECT * FROM clientes WHERE mail='" . $_POST['user'] . "'
AND pass='" . $_POST['pass'] . "'";
$resultado = mysql_query($sql, $link);
if(mysql_num_rows($resultado)!=0)
{
session_start();
$_SESSION["validar"]= "autorizado";
$_SESSION["usuario"] = $user;
header ("Location: index.php");
}
else
{
$msjingresar = "<span class=error>Los datos ingresados anteriormente son incorrectos.</span>";
}
mysql_free_result($resultado);
mysql_close($link);
}
}
?>
<div id="identificar">
<? if(!isset($msjsesion)){ ?> <? echo $msjingresar; ?>
<form action="" method="post" name="login">
<table width="250" border="0" cellpadding="5" style="margin:5px 0 0 0;">
<tr><td colspan="2"><h1>Identificarme:</h1></td></tr>
<tr>
<td><label for="usuario">E-Mail:</label></td>
<td><input name="user" type="text" style="width:150px;" value="<? $_POST["user"]; ?>" /></td>
</tr>
<tr>
<td><label for="pass">Contraseña:</label></td>
<td><input name="pass" type="password" style="width:150px;" value="<? $_POST["pass"]; ?>" /></td>
</tr>
<tr>
<td><input name="ingresar" type="submit" value="Ingresar" /></td>
<td align="right"><p><a href="registro.php" title="Registrarse">Nueva Cuenta</a></p></td>
</tr>
</table>
</form>
<? }else
{
echo $msjsesion;
}
?>
</div>
Código PHP:
session_start();
$_SESSION["autorizado"];
if ($_SESSION["validar"] != "autorizado") {
$msj = "";
}
else
{
$msj = "<span class='mail' align='center'>Usuario: " . $_SESSION["usuario"] . "</span><br><a href='salir.php' class='enlace_c'>Salir</a>";
}
Creo que no es algo muy complicado, pero que por ahora pasa la barrera de mis conocimientos lamentablemente, jajajaja. Espero que puedan ayudarme. Muchas gracias de antemano.
Abrazo.
<< niko >>