Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/11/2010, 16:14
bcjmpr
 
Fecha de Ingreso: noviembre-2010
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Mostrar enlaces distintos una vez logueado

Yo tengo un código parecido pero no logro hacerlo funcionar, a ver si alguien puede echarle un vistazo y descubrir qué estoy haciendo mal.

Tengo mi página index.php, en la que quiero mostrar un formulario de inicio de sesión para los usuarios no registrados, y un mensaje de bienvenida al iniciar sesión.

Código PHP:
<?php
    session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <title>Index</title>
    <link rel="stylesheet" href="global.css" type="text/css" />
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>

<body id="container">

<?php
    
include("conexion.php");

    if(empty(
$_SESSION['login']))
    {
    echo 
"<form action='login.php' method='post'>";
    echo 
"<table class='tabla_login'>";
    echo 
"<tr>";
    echo 
"<td>Usuario:</td>";
    echo 
"<td><input type='text' name='user' size='20' maxlength='20' /></td>";
    echo 
"<td>Contraseña:</td>";
    echo 
"<td><input type='password' name='password' size='20' maxlength='20' /></td>";
    echo 
"<td><input class='button' type='submit' name='submit' value='Entrar' /></td>";
    echo 
"</tr>";
    echo 
"</table>";
    echo 
"</form>";
    }
    else
    {
    echo 
"Bienvenido, ".$user.".";
    }
?>

Acá sigue más código html...
Y tengo la página login.php que procesa la información:

Código PHP:
<?php
    ob_start
();
    include(
"conexion.php");

    
$user=$_POST['user'];
    
$password=$_POST['password'];
    
    
$user=stripslashes($user);
    
$password=stripslashes($password);
    
$user=mysql_real_escape_string($user);
    
$password=mysql_real_escape_string($password);
    
    
$sql="SELECT * FROM usuarios WHERE user='$user' AND password='$password'";
    
$result=mysql_query($sql);
    
$count=mysql_num_rows($result);
    
    if(
$count==1)
    {
    
$_SESSION['login']='1';
    
session_register("password"); 
    
header("location:index.php");
    }
    else
    {
    
$_SESSION['login']='';
    echo 
"Usuario y/o contraseña inválidos.";
    }
    
ob_end_flush();
?>
Lo que pasa ahora es que al iniciar sesión (con un usuario y contraseña válidos, claro) me regresa a index.php pero sigue mostrando los campos para iniciar sesión y no aparece la bienvenida por ningún lado. A ver si alguien me da una pista.

Gracias.