Probleme session et cookie

Signaler
Messages postés
2
Date d'inscription
mardi 7 août 2007
Statut
Membre
Dernière intervention
9 septembre 2007
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Salut, je suis débutant et c'est le premier site que je réalise pour mon pfe
lorsque j'essaye d'utiliser les sessions( session_start(); )  ou les cookies(setcookie("supercookie",$_POST['user']) ;) j'ai le message d'erreur suivant : Warning: Cannot modify header information - headers already sent by (output started at c:\eraf\connect.php:2) in c:\eraf\connect.php on line 66
qq'un peut m'aider  ? merci d'avance.

1 réponse

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

un cookie ca s'envoie par header...

Qu'est-ce-que le HTTP ?
Intro
Ce tuto est pour debutant, je n'ai pas le niveau pour ecrire plus,
alors je vous le dit tout de suite, il est TRES incomplet... J'en ai
simplement marre des erreurs de header sur phpcs, de session_start,
setcookie et autre, et marre des confusions php / javascript ; alors
j'explique comment se deroule une connexion simple...

Description
Le HTTP est un protocol : hypertext transfert protocol, wikipedia.
Deux programmes discutent, un navigateur internet (opera, firefox,
MSIE, galeon, lynx, et plus si affinites), et un serveur web (apache,
IIS, ...). Ils ont une facon de discute bien cadree, comme tout
protocol, cette facon de discuter est decrite dans une RFC.

Une discution simple se deroule en deux temps : le navigateur parle,
puis envoie deux lignes vides (une ligne se termine par \r\n), ensuite
c'est le serveur qui parle, et enfin, la discution se termine. On
appellera par la suite les parolles du navigateur la requette, et la
reaction du serveur la reponse.

Requette comme reponse sont composes de deux parties : l'entete et
le corps (en anglais, header et body, que ceux qui n'aiment pas
l'anglais y portent quand meme attention, ca a son importance) pour la
requette, le body n'est pas forcement utilise.

Le header de la requette contient de nombreuses choses : la page sur
laquelle on veut aller, le host (si vous avez plusieurs sites par
machine, vous les diferenciez par cette variable), le mode d'action (en
general GET ou POST), le protocol (HTTP 1.0 ou 1.1), et des parametres
plus optionels comme la page precedente, le navigateur, la langue, les
types de documents acceptes... Et bien evidement, les cookies sont
contenus dans le header de la requette...

Dans le cadre d'un GET, on n'utilise pas le corps, sinon, lors d'un POST, on envoi la taille, et les donnees envoyees ensuite.

Pour un POST de fichier, il y a plusieurs champs : le nom du fichiers, sa taille, son mimetype, et son contenu.

Pour la reponse du serveur, le header contient le status (404 = non
trouve, 403 forbiden, 501 erreur, 200 = tout va bien ...), le mime
type du document, son charset, les nouveaux cookies...

Ensuite, le corps de la reponse du serveur, ca peut-etre n'importe quoi...

alors seulement, le navigateur recoit cette reponse, la lit, et
l'interprete a sa maniere (afficher un html, executer du javascript,
...)

toi t'essai d'envoyer 1 le resultat de la requete, 2 le header.... evidement, il n'est pas content
<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy