Cookie avec Smfony 1.2

Cookie avec Smfony 1.2 - PHP - Programmation

Marsh Posté le 05-08-2009 à 11:30:59    

Salut à tous,  
 
je voudrais mettre des sessions persistantes dans mon site avec SF1.2.  
Le problème, c'est que les cookies ne sont pas créés sous IE7 et Opera(9.64) alors que ca marche avec Firefox 3.5...  
J'ai vérifié, les cookies sont bien activés sur tous les navigateurs ;)  
Je fais la création du cookie dans le contrôleur, ce qui signifie que aucun affichage n'est envoyé avant...  
 

Code :
  1. if ($this->remember == 1)
  2. {
  3.     // Génération du cookie
  4.     sfContext::getInstance()->getResponse()->setCookie('MyWebSite', "aaaaaah", time()+60*60*24*15, '/');
  5. }


 
Je pense que le problème vient de ma déclaration du cookie et pas de SF... j'ai créé une page qui fait appel à un setcookie() et le constat est le même.  
J'ai réussi à en créer un avec Opera mais uniquement avec le paramètre time à 0 (cookie détruit à la fin de la session !) ... avouez que c'est peu pratique ...  
Avez-vous une idée ?  
 

Reply

Marsh Posté le 05-08-2009 à 11:30:59   

Reply

Marsh Posté le 05-08-2009 à 14:40:24    

Re-bonjour,  
 
Je me répond partiellement (pour ceux qui rencontreraient ce problème plus tard) :  
L'utilisation d'une fonction JS permet de résoudre le problème.  
 

Code :
  1. <script type="text/javascript" language="JavaScript">
  2. <!--
  3. function EcrireCookie(nom, valeur)
  4. {
  5. var argv=EcrireCookie.arguments;
  6. var argc=EcrireCookie.arguments.length;
  7. var expires=(argc > 2) ? argv[2] : null;
  8. var path=(argc > 3) ? argv[3] : null;
  9. var domain=(argc > 4) ? argv[4] : null;
  10. var secure=(argc > 5) ? argv[5] : false;
  11. document.cookie=nom+"="+escape(valeur)+
  12. ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
  13. ((path==null) ? "" : ("; path="+path))+
  14. ((domain==null) ? "" : ("; domain="+domain))+
  15. ((secure==true) ? "; secure" : "" );
  16. }
  17.  
  18.  
  19. var d = new Date();
  20. d.setMonth(d.getMonth()+1);
  21. document.write (d.toGMTString());
  22.  
  23. EcrireCookie("toto", "titi", d);
  24. //-->
  25. </script>


 
Mais le problème du setcookie reste entier !  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed