Muy buenas a todos. Tengo un problema, creo que detectado, pero no se solucionarlo.Os cuento.
Tengo una pagina php (cabecera.php) en la que abro una session (session_start) y doy valores a variables de sesion y más php, que me funciona bien, sin error "Cannot send session cache limiter".
Aparte tengo otra pagina php (principal.php) en la que inserto cabecera.php mediante un include dentro de un div. es entonces cuando me da este error:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Domains\xxxxxxxxxxxxxxxxxxx\wwwroot\pro\princip al.php:8) in C:\Domains\xxxxxxxxxxxxxxxxxxxxx\wwwroot\pro\cabec era.php on line 1
Tras leer varios hilos, supuse que el error se producía porque antes del codigo php(session_start de cabecera) de principal no debe ir codigo html(ninguna respuesta al cliente). y así lo hize, poniendo el include(php) al principio de principal.php no me da el warning, pero claro, pierdo todo el formato de la página...
soluciones...
pongo el código de cabecera:
Código PHP:
Ver original<?php
if (isset($_SESSION["nickSesion"])) {
$mensaje1='<p>Bienvenido a nuestra web '.$_SESSION["nickSesion"].'.</p>';
}
else if ( isset( $_POST['enviar'])) {
....
... y el código de principal(como me da el error):
Código PHP:
Ver original<html>
<head>
<title>Problema</title>
<link rel="StyleSheet" href="estilos.css" type="text/css">
</head>
<body>
<div id="centro">
<?php
include ('cabecera.php');
?>
<table class="tablaPrincipal">
<tr>
<td width="640px">
<img src="./fotos/elforoToprural.jpg">
</td>
<td width="260px">
noticias
</td>
</tr>
</table>
</div>
</body>
</html>
Gracias