Cookie ne se crée pas [RESOLU grâce à NazzTazz. MERCI !] - PHP - Programmation
Marsh Posté le 19-02-2008 à 09:31:01
Il me semble que les cookies doit être créés avant l'envoi des headers.
Tu ne dois donc rien afficher avant des créer tes cookies.
En gros, à partir du moment ou tu balance un "echo ..." ou un "header()...", la fonction "setcookie()" ne fonctionnera plus...
Marsh Posté le 19-02-2008 à 11:42:43
La balise Code, c'est mieux que la balise quote pour afficher du code
Marsh Posté le 19-02-2008 à 12:27:13
Merci beaucoup ! En effet, je n'avais pas fait attention que j'avais un echo avant (j'en mets partout pour tester le code...). Le problème est résolu. encore merci.
Désoler pour la citation je ne suis pas très experte de l'utilisation du forum, je n'ai pas trouvé le petit bouton C/C++...
Mea culpa
Marsh Posté le 19-02-2008 à 13:51:52
J'ai crié victoire un peu vite !
En fait le cookie avait été créé avec le premier script et j'avais oublié de vider les cookies dans mon navigateur.
Donc le problème reste entier.
J'ai supprimé les "echo" qui pouvaient se trouver avant et le cookie ne se crée toujours pas.
Retour à la case départ.
Si quelqu'un a une autre idée ...
Merci d'avance
Marsh Posté le 19-02-2008 à 14:41:34
N'hésite pas à spécifier le chemin et le domaine quand tu crées un cookie
Marsh Posté le 19-02-2008 à 14:50:01
lasttango a écrit : J'ai crié victoire un peu vite ! |
Ligne 21:
Code :
|
...
Ligne 63:
Code :
|
Pas besoin de chercher plus loin je pense...
Marsh Posté le 19-02-2008 à 15:07:42
Oui tu as raison, mais même avec l'echo supprimé il ne le crée pas...
Marsh Posté le 19-02-2008 à 15:08:50
snif le trafic HTTP pour voir si le header Set-Cookie est bien envoyé (utiliser Tamper Data sous FireFox, ou Fiddler sous IE)
Marsh Posté le 19-02-2008 à 15:17:15
j'ai trouvé ce qui bloquait. Le script fonctionne quand je supprime ma connexion à la base de données:
require_once('connexion_Base_Donnees.php');
Mais ça ne m'explique pas pourquoi. Une idée ?
Marsh Posté le 19-02-2008 à 15:21:02
un echo dans "connexion_Base_Donnees.php"?
Et sinon essaye voir de déplacer "header('Content-type: text/html; charset=utf-8');" (ligne 2), mets-le juste avant le 1er echo de ton code.
Marsh Posté le 19-02-2008 à 15:41:00
"header('Content-type: text/html; charset=utf-8');"
n'a pas l'air de géner, tout fonctionne normalement avec.
j'ai vérifié le fichier de la connexion base et il n'y a pas d'echo...
Code :
|
bizarre
Marsh Posté le 19-02-2008 à 17:44:57
Voici la structure de ma page et voici ce qu'il se passe :
Si quelqu'un sait pourquoi et comment contourner le problème, je suis preneuse.
Sans include ou require_once, le script fonctionne
Code :
|
[#e2001c] avec include ou require_once, le script ne fonctionne pas
Code :
|
Marsh Posté le 20-02-2008 à 13:08:13
Personne n'a d'idée ?
Marsh Posté le 20-02-2008 à 13:44:30
Bravo. C'est ça !
Mille mercis parce que je pataugeais depuis un petit temps et il me semblait avoir tout essayer, en vain...
vraiment merci.
Marsh Posté le 20-02-2008 à 16:10:20
ReplyMarsh Posté le 20-02-2008 à 17:33:51
FlorentG a écrit : C'est marrant que t'avais pas d'erreur "headers already sent" |
ben ça dépend, c'est une erreur,un warning, ou tout juste un notice le "headers already sent" (j'ai oublié, pas fais de prog de site depuis plus d'un an), ??? parce que selon son reporting, il a pitète pas demandé d'afficher grand chose...
Marsh Posté le 19-02-2008 à 00:41:46
Bonjour,
le site que je suis en train de faire est un site multilingue (15 langues qui représentent 102 pays).
Mon script fonctionne très bien pour l'essentiel mais je n'arrive pas à créer de cookie. Ce n'est pas très indispensable, mais j'aimerais comprendre mon erreur, quand même.
Quand j'isole le début du script cela fonctionne, le cookie se crée ....
code 1
MAIS avec la suite, cela se gâte :
P.S : j'ai mis tout le script pour vous donner une idée ( même s'il y a plein de choses pas très utiles) , mais le nerf de la guerre est en rouge. Si quelqu'un a une idée ....
code 2
Message édité par lasttango le 20-02-2008 à 13:46:14