Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Mostrar un popup solo una vez en una aplicación Silex

5 de enero de 2016

Hola, estoy intentando que en un Silex muestre un popup en la página de inicio pero una única vez. Para ello quiero crearme una variable de sesión.

Lo que en código normal sería:

$showPopup = 0;
if (!isset($_SESSION["showPopup"])) {
   $showPopup = 1;
}

En Silex lo estoy haciendo:

// index.php
$app->mount('/', include 'controllers/inicioController.php');
 
// inicioController.php
$app['session']->set('popup', 1);

Y me da el clásico error de:

Failed to start the session because headers have already been sent by

No hay nada escrito antes de todo eso, ¿la asignación de sesiones no se hace así? He hecho varias búsquedas en Google y todas dicen que ese así.

¿Alguna idea de cómo crear mis propias variables de sesión? Gracias.


Respuestas

#1

El código que muestras es correcto, porque así es la forma de configurar y usar sesiones en Silex según su manual oficial. Pero el error que muestras es muy claro: "algo" está escribiendo por pantalla antes de enviar la respuesta HTTP. Puede ser un espacio en blanco en algún archivo, la etiqueta de cierre de PHP mal puesta (mejor eliminar todas las etiquetas de cierre), etc.

@javiereguiluz

5 enero 2016, 15:00