Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2006, 15h57   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2004
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 60
Points : 13
Points : 13
Par défaut [Sécurité] Problèmes avec setcookie

Bonjour,

Dans une page html avec une partie de code en php, lors de l'authentification je sauvegarde le login dans un cookie comme ceci :
Code :
1
2
 
setcookie("cookieauthentification", "$login");
Et voici l'erreur que j'ais :

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\wamp\root\ansi.fr\Site html\ansi_fichiers\page0006.php:10) in C:\Program Files\wamp\root\ansi.fr\Site html\ansi_fichiers\page0006.php on line 1064

J'ais essayé de déclarer le cookie pour ensuite lui donner une valeur mais j'ais le même problème je travail avec un serveur wamp en local.

Merci
cach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 16h47   #2
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
C'est hyper classique : Tu as du code en sortie avant la création de ton cookie, et PHP n'aime pas cela -> http://fr2.php.net/manual/fr/function.setcookie.php

Citation:
Envoyé par php.net
setcookie() définit un cookie qui sera envoyé avec le reste des en-têtes. Les cookies doivent passer avant tout autre en-tête (c'est une restriction des cookies, pas de PHP). Cela vous impose d'appeler cette fonction avant toute balise <html> ou <head>. Si quelque chose a été envoyé avant l'appel à cette fonction, setcookie() échouera et retournera FALSE. Si setcookie() réussi, elle retournera TRUE. Cela n'indique pas si le client accepte ou pas le cookie.

Note : Depuis PHP 4, vous pouvez utiliser la bufferisation de sortie pour pouvoir envoyer du contenu avant d'appeler cette fonction, avec la contrepartie que toute votre page sera envoyée en une fois. Vous pouvez faire cela en appelant ob_start() et ob_end_flush() dans votre script, ou en activant la directive output_buffering dans votre fichier de configuration php.ini.
__________________
Consultant idéaliste.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 17h02   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2004
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 60
Points : 13
Points : 13
Merci,

cala veut dire que je ne peux pas envoyer de cookie dans une page html normal avec balise <HTML> ?

ya t'il une autre solution?
cach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 17h08   #4
Membre émérite
 
Avatar de Yobs
 
Inscription : avril 2004
Messages : 675
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2004
Messages : 675
Points : 808
Points : 808
Envoyer un message via MSN à Yobs
Sur une page html tu peux toujours envoyer des cookies avec javascript. Tu peux tout aussi bien placé ton setcookie avant ton script php avecta balise <html>

A toi de voir...
__________________
Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés
Yobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 18h03   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2004
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 60
Points : 13
Points : 13
Merci,

mais j'ais éssayé de placer mon setcookie avant ma balise <html>, mais j'ais toujour la même érreur!
cach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 18h06   #6
Membre confirmé
 
Inscription : janvier 2004
Messages : 242
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 242
Points : 245
Points : 245
Citation:
Envoyé par cach
Merci,

mais j'ais éssayé de placer mon setcookie avant ma balise <html>, mais j'ais toujour la même érreur!
debute direct la page avec un <? et surtout pas d'espace ou entré avant.

Au passage, il manque des arguments a ton setcookie mais ce n'est pas ça qui génere l'erreur.
chaced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 18h15   #7
Candidat au titre de Membre du Club
 
Inscription : avril 2004
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 60
Points : 13
Points : 13
Bonjour,

Merci, j'ais compris, je dépose mon cookie en début de page et je lui donne une valeur en sortie et la ca marche.
cach est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h22.


 
 
 
 
Partenaires

Hébergement Web