Bonjour

Me voici confronté à un problème qui me bloque depuis plusieurs semaines.

Avec CakePHP (1.3), je fais dans mon controller ceci :

$this->Session->setFlash('Annonce modifiée avec succès');//Création d'un message flash
$this->redirect('/');//redirection à l'accueil

Et dans le layout par default j'ai ceci :

e($this->Session->flash());

Une fois l'action effectuée correctement le message s'affiche correctement, mais il ne disparait plus!!. Quand je clique sur d'autres pages pour naviguer sur le site le setflash est toujours là.
J'ai biensûr tenté différentes combinaison.

$this->Session->delete('Message.flash');
$this->Session->delete('Message');
unset($_SESSION'Message'])

Et après toutes ces tentatives l'élément Message des sessions est bien supprimé mais le message reste...
Et le plus bloquant c'est que ce problème, n'est pas présent en local, mais uniquement chez l'hébergeur.
Si vous avez des conseils je suis preneur...

3 réponses


Essaie voir avec un echo normal (je crois que le raccourci a été déprécié d'ailleurs), <?php echo $this->Session->flash(); ?> plutôt que le e().
Pas de raison qu'il ne t'efface pas le message :/

Bonjour

J'ai testé ce point aussi avec <?= ou echo ou e() mais pareil le setfalsh reste
J'ai continué à chercher et il semblerait que cela vienne du cache, mais mes connaissances sont assez limités sur ce point...

Ah oui faut pas mettre de cache sur la partie du flash
Regarde la dernière partie du tuto de créer un site avec cakephp, Grafikart en parle à ce moment là du cache.