Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Créer un cookie

Posted by Yadutaf on 01/18/2011 14:29

Bonjour à tous,

C'est sans doute très bête mais je n'arrive pas à créer un simple cookie avec la fonction setcookie() intégrée à une banale action. Je n'ai rien vu dans la doc ni dans le forum à ce sujet, cela doit donc être totalement évident mais je sèche lamentablement.

  [Opened] Créer un cookie

Reply #1 Posted by foxmask on 01/18/2011 14:57

ça provoque quelle erreur ?


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Créer un cookie

Reply #2 Posted by Yadutaf on 01/18/2011 15:28

Aucun message d'erreur. Ce serait trop facile ! Simplement pas d'enregistrement du cookie.

  [Opened] Créer un cookie

Reply #3 Posted by laurentj on 01/18/2011 15:45

probablement parce que tu fais un setCookie alors que du contenu soit déjà envoyé ?

  [Opened] Re: Créer un cookie

Reply #4 Posted by Yadutaf on 01/18/2011 16:01

J'y ai bien pensé mais cela me renverrait le classique "Warning: Cannot add header information - ...".

J'ajoute que j'ai mis, provisoirement, un setcookie() sur la première ligne de myHtmlResponse.class.php et que celui-ci fonctionne normalement. Par contre, dès que je le place dans un contrôleur, cela ne marche plus. En plus, l'action qui devrait créer ce cookie n'affiche rien puisqu'elle se termine par une redirection.

  [Opened] Créer un cookie

Reply #5 Posted by foxmask on 01/19/2011 22:13

As tu essaye de faire un plugin coord et de faire appel a celui ci que sur l'action qui t'interesse ?


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Créer un cookie

Reply #6 Posted by Yadutaf on 01/21/2011 09:06

Non. Je n'ai pas essayé. Je ne maîtrise pas encore cela. Je vais tenter le coup après lecture de la doc.

  [Opened] Créer un cookie

Reply #7 Posted by Yadutaf on 01/21/2011 19:25

J'ai progressé dans mon in...compréhension du problème :

  • en fait le cookie qui est créé par une action d'un contrôleur n'est pas lisible par les autres contrôleurs.

Comme l'action qui crée le cookie se termine normalement par une redirection vers un autre module, j'avais l'impression que setcookie() ne fonctionnait pas. Mais en redirigeant vers une autre action du même contrôleur, on voit que setcookie() a bien fonctionné. Le problème c'est que cela ne me convient pas. Il faut que ce cookie soit visible par tous les modules de l'application.

Y a-t-il une solution à cela ?

(J'ai essayé plugin coord mais je n'ai abouti à rien et je ne pense pas que ce soit la solution en l'occurence. Mais vous pouvez me dire que je me trompe et je persisterai dans cette voie.)

  [Opened] Créer un cookie

Reply #8 Posted by laurentj on 01/21/2011 22:41

ça ressemble fort à un problème de chemin et/ou domaine indiqué à setcookie. Tout est bien dans le même domaine ? tu as indiqué quoi comme chemin ? si tu n'as rien mis, il prend le chemin courant (de l'url). donc si tu es à l'url /foo/bar/ et que tes autres contrôleurs sont à /foo/toto/, ils ne verront pas le cookie.

Bref, lire la doc de setcookie (et la spec HTTP éventuellement) ;-)

  [Opened] Créer un cookie

Reply #9 Posted by Yadutaf on 01/24/2011 09:40

Actuellement la fonction est : setcookie('pdv', $this->param('pdv_id'), time() + 3600,'/'); Le cookie devrait donc être valide pour l'ensemble du domaine.

Je crois connaître par coeur la doc de setcookie mais, tu as raison, je vais la relire. On ne sait jamais. Le problème quand on travaille seul est que l'on peut passer pendant un bon moment à coté d'une évidence sans la voir. Mais maintenant que j'ai la quasi-certitude que le problème ne vient pas de Copix, je vais chercher ailleurs.

En tout cas, merci pour vos réponses.

 
Page
  1. Créer un cookie