Cita:
Iniciado por jgar
tengo un sistema para iniciar sesión con login y contraseña y está hecho con sesiones.
Funcionaba bien y un día sin más me sale este mensaje cuando quiero iniciar sesión
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/aposting/privat.php:13) in /home/aposting/privat.php on line 15
por si sirve.... cuando pones nombre de usuario y contraseña te envia a check.php quien comprueba si son correctos y si lo son te lleva a privat.php donde pone que hay error. El trozo de codigo de privat.php
<html>
<head>
<title>Privat</title>
<LINK REL="stylesheet" TYPE="text/css" HREF="estil.css">
</head>
<body>
<center>
<IFRAME src="dalt.html" width="610" height="240" scrolling="auto" frameborder="0">
Tu navegador no soporta los marcos en línea.
<A HREF="dalt.html">Haz clic aquí</A>
</IFRAME>
</center>
<strong>
<?php
session_start();
if($_SESSION['logged']!="si"){
header("Location: index.html");
exit;
}
else{
...+código
a ver si alguien me ayuda porque eso de que deje de funcionar de repente es un palo.
gracias
El código que expones no tiene sentido .. Te explico:
El objetivo de tu validacíon en PHP es que si cumple esa condición tu redireccionas vía cabeceras HTTP (con header() de tipo Location) ... Para ee caso no te interesa para nada haber generado una página HTML con frames y demás .. Recuerda que PHP se ejecuta en el "servidor" y que las cabeceras HTTP se ejecutan -antes- de tu código HTML pueda llegar al cliente para que este interprete su parte.
Por eso .. debes cambiar el orden de tu validación y session_start()
Un saludo,