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 18/12/2006, 23h22   #1
Invité régulier
 
Inscription : avril 2002
Messages : 38
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : avril 2002
Messages : 38
Points : 6
Points : 6
Par défaut session_start : impossible à faire fonctionner !

Voici le pauvre code que je tente de mettre en place. Comme indiqué dans la FAQ rien avant session_start () ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<?php 
session_start(); 
?>
<HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
		<title>FICHE D INCIDENT</title>
		<meta http-equiv="content-style-type" content="text/css">
		<meta http-equiv="expires" content="0">
		<link rel="stylesheet" href="frame.css" type="text/css" media="all">
	</head>
	<body>
		Bonjour
	</body>
</html>
Et pourtant toujours le même interminable message :

Citation:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/eric/public_html/prod2/session.php:1) in /home/eric/public_html/prod2/session.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/eric/public_html/prod2/session.php:1) in /home/eric/public_html/prod2/session.php on line 2
Si quelqu'un avait l'amabilité d e m'aider ... Sinon, le code est enregistré au format UTF8

phpinfo () indique :

Citation:
Session Support enabled
Registered save handlers files user

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php4 /var/lib/php4
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off
Merci
lesouriciergris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2006, 23h30   #2
Membre confirmé
 
Inscription : décembre 2006
Messages : 297
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 297
Points : 248
Points : 248
ici, PHP t'informe d'un problème «headers»,
les sessions doivent être en tout début de page (toujours avant des sorties)

Sinon, en fonctions de l'hébergeur, tu peux avoir des problèmes
Free par exemple, tu dois crée un répertoire sessions à la racine de ton site.

Pour corrigé ton problème, il te suffit de mettre session_start(); avant une sortie HTML ou un echo.
(je pense que ton code si dessus est pas exactement celui que tu testes, ou alors il est inclue par un autre fichier)
juJuv51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2006, 23h31   #3
Membre régulier
 
Avatar de zamanika
 
Inscription : novembre 2003
Messages : 106
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 106
Points : 98
Points : 98
Salut,

Je viens d'essayer ton code et il marche, sauf que... Tu as sauté une ligne avant l'ouverture de <?php ce qui revient à afficher quelque chose...

Donc au lieu de :
Code :
1
2
3
4
5
 
 
<?php
session_start();
?>
Fait bien
Code :
1
2
3
<?php
session_start();
?>
Celà dit, c'est peut être juste ta copie dans le forum qui suate une ligne, peut etre pas ton script. Dans ce cas, je vois pas, chez moi il fonctionne...
zamanika est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2006, 23h47   #4
Membre confirmé
 
Inscription : décembre 2006
Messages : 297
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 297
Points : 248
Points : 248
je pense que tu as mi le doigt sur quelque chose de très bête mais qui mérite d'être souligné
(personnellement c'est une type d'erreur qui grâce à toi, je n'oublierais pas, j'espère, zamanika merci )
juJuv51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 10h02   #5
Invité régulier
 
Inscription : avril 2002
Messages : 38
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : avril 2002
Messages : 38
Points : 6
Points : 6
Citation:
Envoyé par zamanika
Salut,

Je viens d'essayer ton code et il marche, sauf que... Tu as sauté une ligne avant l'ouverture de <?php ce qui revient à afficher quelque chose...

Donc au lieu de :
Code :
1
2
3
4
5
 
 
<?php
session_start();
?>
Fait bien
Code :
1
2
3
<?php
session_start();
?>
Celà dit, c'est peut être juste ta copie dans le forum qui suate une ligne, peut etre pas ton script. Dans ce cas, je vois pas, chez moi il fonctionne...
Non c'est de ma faute, j'ai mal inséré la balise quand j'ai envoyé mon message. Par contre avec hexedit j'ai vu qu'il y avait 3 octets en début du fichier EF BB BF. Je pense que le souci vient de là maintenant que vous me confirmez que mon code est correct mais connaîtriez vous un moyen simple de supprimer ces caractères ...
lesouriciergris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 10h31   #6
Membre régulier
 
Avatar de zamanika
 
Inscription : novembre 2003
Messages : 106
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 106
Points : 98
Points : 98
Salut,

Si tu fais un fichiers php avec juste :
Code :
1
2
3
<?php 
session_start();
?>
Est-ce que ça marche ?
zamanika est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 10h33   #7
Invité régulier
 
Inscription : avril 2002
Messages : 38
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : avril 2002
Messages : 38
Points : 6
Points : 6
Citation:
Envoyé par lesouriciergris
Non c'est de ma faute, j'ai mal inséré la balise quand j'ai envoyé mon message. Par contre avec hexedit j'ai vu qu'il y avait 3 octets en début du fichier EF BB BF. Je pense que le souci vient de là maintenant que vous me confirmez que mon code est correct mais connaîtriez vous un moyen simple de supprimer ces caractères ...
Ok le problème était bien dans le BOM. J'ai utilisé hexeditor -b pour supprimer les caractères mis en causes.

Ouf je respire.

Merci en tout cas.

Eric
lesouriciergris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 10h42   #8
Membre confirmé
 
Inscription : décembre 2006
Messages : 297
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 297
Points : 248
Points : 248
T'as vraiment eu un problème

franchement zamanika bravo! fallait la trouver cela
juJuv51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 13h21   #9
Membre régulier
 
Avatar de zamanika
 
Inscription : novembre 2003
Messages : 106
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 106
Points : 98
Points : 98
Citation:
Envoyé par juJuv51
fallait la trouver cela
Il m'est arrivé de passer plusieurs heures sur un problème de session qui ne marchait pas à cause d'un bête retour à la ligne . Donc à chaque fois que je vois un problème de session j'y pense
zamanika est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 13h25   #10
Membre confirmé
 
Inscription : décembre 2006
Messages : 297
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 297
Points : 248
Points : 248
ouais

perso, je trouve que c'est un problème très sournois
merci en tout cas, parce que ça en fait profité tout le monde
juJuv51 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 15h42.


 
 
 
 
Partenaires

Hébergement Web