Écriture de cookies impossible ...

Quelque chose ne fonctionne pas alors qu'il vous semble que le soucis ne vient pas de vous ? Vous avez des questions sur nos services et vous pensez que vos préoccupation peuvent intéresser d'autres hébergés ? N'hésitez pas à nous contacter.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Bonjour,

Depuis les changements de serveur effectuer par franceserv il y a environ un mois, il est devenu impossible d'écrire un cookie en php (je n'ai pas tester en JavaScript).

Voici la ligne que j'utilise si nécessaire :

Code : Tout sélectionner

<?php setcookie('id',$data['id'],time()+365*24*3600);?>
(cette ligne crée bien un cookie en local)

Et le retour des serveurs franceserv :

Code : Tout sélectionner

Warning: Cannot modify header information - headers already sent by (output started at
/home/httpd/a/n/e/aneoz/nomDuSite/include/header.php:5) in
/home/httpd/a/n/e/aneoz/nomDuSite/verificateur_connexion.php on line 120
Merci d'avance a toutes les personnes qui pourraient me venir en aide ou m'expliquer plus précisément l'origine du problème afin d'y remédier.

Si vous avez besoin de plus de renseignement sur l'erreur, demandez-moi :)
Passionaqua
Messages : 300
Inscription : 7 mai 2010 à 19:27

Bonjour,
l'erreur suivante :
Serveur a écrit :Warning: Cannot modify header information - headers already sent by
Indique que des informations ont été envoyées avant l'ajout du cookie. En effet, vous avez surement inclue le fichier header.php (qui doit afficher quelques choses je suppose) avant de créer le cookie. Il faut donc inclure le fichier header.php après l'ajout d'un cookie ou toute autre modification du header (avec header()).

L'erreur ne devait pas s'afficher avant, car elle était surement cachée (regarder dans les paramètres de votre site Internet dans l'interface de gestion) ; cependant, il est préférable d'avoir un code source propre ;)

En espérant vous avoir aidé,
Bonne journée.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Merci de votre réponse, je vais de tout de suite testé cette solution et je vous tiens informé.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Parfait ;) merci beaucoup.

Mais je me pose tout de même une question, car avant les changements de serveur chez franceserv, les cookies s'écrivaient correctement, cela provient peut être de nouvelles sécurités qui auraient étés mise en place sur les nouveaux serveurs :rolleyes:.

Sinon le sujet est bien résolu.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Et pourtant, non. Aucun rapport avec la sécurité du serveur. PHP ne peut en aucun cas traiter des informations liées au Header d'un script, après l'avoir envoyé.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7938
Inscription : 2 avril 2010 à 20:14

Je vais devoir ne plus apporter d'amélioration pour ne plus entendre dire que c'est depuis le dernier changement qu'il y a un problème :)
aneoz a écrit :Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/a/n/e/aneoz/nomDuSite/include/header.php:5) in
La ligne 5 correspond à une ouverture de balise PHP, les 4 précédentes lignes sont des balises HTML :

Code : Tout sélectionner

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
Le message d'erreur avait donc raison pour dire qu'il y a eu un envoi sur le navigateur pendant les 4 premières lignes ;)

Je n'en sais pas plus car je ne vois rien à la ligne 120 du fichier verificateur_connexion.php, peut être avez vous déjà commencé à y apporter des modifications.
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Répondre