Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/12/2008, 17:17
a77icu5
 
Fecha de Ingreso: agosto-2008
Ubicación: Puebla, Mexico.
Mensajes: 84
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente con sessiones

Pegaremos un poco de codigo...


/*----------login.php [formulario que esta en la raiz '/' de la pagina]------------*/
<?php require('php/connect.php'); ?>
<?php require('admin/php/validate.php'); ?>
<?php
$id = $HTTP_GET_VARS['id'];
if($id == 'login')
{
validar_usuario($HTTP_POST_VARS["usuario"], $HTTP_POST_VARS["password"]);
}
else
{
echo '<form action="?id=login" method="post">
<fieldset>
<legend>Login</legend>
<h4><label>Usuario:</label></h4>
<input type="text" maxlength="20" name="usuario" />
<h4><label>Contrase&ntilde;a:</label></h4>
<input type="password" maxlength="20" name="password" />
<input type="submit" name="enviar" value="Entrar" />
</fieldset>
</form>';
}
?>

/*--------------validate.php esta guardado en /admin/php/-------------------*/

<?php session_start(); ?>
<?php //validando usuario
function validar_usuario($user,$pass)
{
$link = conectame();
if(trim($user) != " " && trim($pass) != " ")
{
$usuario = strtolower($user);
$sql ="SELECT password, user FROM login WHERE user='$usuario' ";
$result = mysql_query ($sql,$link);
if($registro = mysql_fetch_array($result))
{
if($registro['password'] == $pass)
{
$HTTP_SESSION_VARS['admin']=$registro['user'];
echo $HTTP_SESSION_VARS['admin'];
echo '<a href="admin/">entrar</a>';
}
else
{
echo '<h4>Contrase&ntilde;a incorrecta. ';
echo '<a href="login.php"> Atr&aacute;s</a></h4';
}
}
else
{
echo '<h4>El usuario no existente en la base de datos.';
echo '<a href="login.php"> Atr&aacute;s</a></h4>';
}
mysql_free_result($result);

}
else
{
echo '<h4>Debes especificar un usuario y contrase&ntilde;';
echo '<a href="login.php"> Atr&aacute;s</a></h4>';
}
mysql_close($link);
}
?>

<?php
function validar_sesion()
{
session_start();
if (isset($HTTP_SESSION_VARS['admin']))
{
echo $HTTP_SESSION_VARS['admin'];
}
else
{
echo 'desconocido';
}
}
?>

/*-------------index.php que esta guardado en /admin/-----------------*/
<?php session_start();
<?php require('../php/connect.php'); ?>
<?php require('php/validate.php');
validar_sesion();
?>




Este es el codigo que tengo en las paginas, cuando imprimo la sesion (echo $HTTP_SESSION_VARS['admin']; )desde login.php si la muestra el nombre, pero cuando hago lo mismo desde el index.php no muestra nada y siempre aparece como "desconocido", pense que era por el directorio de los archivos pero cuando hice la prueba con otra pagina que esta en la misma carpeta de login.php tampoco la muestra, espero que con estos datos me puedan ayudar un poco mas, gracias a todos.