Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/09/2008, 12:49
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Header, falla a veces,cuando quiere

La idea que te comentaba antes, es de este estilo:
Suponiendo que quisieras hacer un sistema muy básico de control de usuarios, tenés dos formas:
1.- mezclar HTML y PHP
2.- Procesar lo necesario con PHP y luego mostrar los datos
(de hecho hay una 3.- que es usar un sistema de plantillas o un framework de desarrollo)

De la primera forma una página protegida quedaría algo así
Código PHP:
<html>
<head>
<title>Mi página protegida</title>
</head>
<body>
Hola, <?php
session_start
();
if (isset(
$_SESSION['autenticado'])) {
    echo 
$_SESSION['usuario'];
} else {
    
header('Location: login.php');
    exit;
?>
</body>
</html>
¿Se ve el problema? La redirección fallará si el usuario no está autenticado, porque ya se envió texto al navegador.
Creo que el programa que estás haciendo es de este estilo, mezclando PHP y HTML (obviamente de forma no tan burda como en este ejemplo)

A lo que me refiero al decir "separar el PHP y el HTML", la segunda forma, es a algo así:

Código PHP:
<?php
session_start
();
if (isset(
$_SESSION['autenticado'])) {
    
$usuario $_SESSION['usuario'];
} else {
    
header('Location: login.php');
    exit;
?>

<html>
<head>
<title>Mi página protegida</title>
</head>
<body>
Hola, <?php echo $usuario?>
</body>
</html>
La idea es siempre procesar lo necesario con PHP, dejar las partes estáticas como HTML, y mezclar ambos lo menos posible.

Espero que quede más claro ahora.


Saludos.