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 23/06/2006, 21h54   #1
Membre du Club
 
Inscription : mai 2006
Messages : 206
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mai 2006
Messages : 206
Points : 59
Points : 59
Envoyer un message via MSN à gailup
Par défaut session_start() ;

Bonjour,

J'utilise HapEdit 3.0 pour la création de mes scripts.

Pour commencer avec les session, j'utilise session_start() ;
Mais j'ai l'erreur suivante :
Code :
1
2
3
4
 
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\bmxnpc\admin\admin.php:9) in c:\program files\easyphp1-8\www\bmxnpc\admin\admin.php on line 18
 
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\bmxnpc\admin\admin.php:9) in c:\program files\easyphp1-8\www\bmxnpc\admin\admin.php on line 18
Ca vient de où cette erreur ?

Merci d'avance.
__________________
Gailup.
gailup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2006, 22h00   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
à la ligne 9 de ton fichier admin.php, tu as un envoie de caractère au navigateur web, ce qui interdit d'envoyer d'autres headers et donc de faire un session_start à la ligne 18 de ce même fichier (suffit de savoir lire)
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 11h17   #3
Membre du Club
 
Inscription : mai 2006
Messages : 206
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mai 2006
Messages : 206
Points : 59
Points : 59
Envoyer un message via MSN à gailup
J'ai créer un toute nouvelle page pour le sript suivant :

Code :
1
2
3
4
5
6
7
8
9
10
 
<html>
<head>
</head>
<body>
<?php
  session_start() ;
?>
</body>
</html>
et voila l'erreur :
Code :
1
2
3
4
5
 
 
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\bmxnpc\admin\sess1.php:5) in c:\program files\easyphp1-8\www\bmxnpc\admin\sess1.php on line 6
 
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\bmxnpc\admin\sess1.php:5) in c:\program files\easyphp1-8\www\bmxnpc\admin\sess1.php on line 6
Donc l'erreur me dit que j'ai un envoi de caractère au navigateur web à la ligne 5 don je ne peux pas faire un session_start. Mais le problème qu'a la ligne 5 c'est : <?php.

Donc je ne comprend pas trop.

Merci d'avance.
__________________
Gailup.
gailup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 11h18   #4
Rédacteur
 
Avatar de Eric Berger
 
Inscription : octobre 2002
Messages : 340
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2002
Messages : 340
Points : 475
Points : 475
Envoyer un message via ICQ à Eric Berger Envoyer un message via MSN à Eric Berger Envoyer un message via Skype™ à Eric Berger
Essaie ça:
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
   session_start() ;
 ?>
<html>
<head>
</head>
<body>
 
</body>
</html>
En prenant bien garde qu'il n'y aie pas d'espaces ni de retours à la ligne avant <?php...
Eric Berger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 11h21   #5
Membre du Club
 
Développeur Web
Inscription : décembre 2004
Messages : 89
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 89
Points : 53
Points : 53
Fais plutot ceci :
Code :
1
2
3
4
5
6
7
8
9
<?php
  session_start() ;
?>
<html>
<head>
</head>
<body>
</body>
</html>
Comme le dis Swoög, les headers sont déjàs envoyés, ce qui empèche de faire ton session_start();
Philoulheinz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 11h24   #6
Membre du Club
 
Inscription : mai 2006
Messages : 206
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mai 2006
Messages : 206
Points : 59
Points : 59
Envoyer un message via MSN à gailup
OK merci ca fonctionne.

Donc tous le code PHP sur les session doit se faire avant les balise HTML.
Ou bien c'est seulement le session_start() ; qui doit être avant les balises HTML.


Merci D'avance.
__________________
Gailup.
gailup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 11h34   #7
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Que le session_start() et les header().
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 11h35   #8
Rédacteur
 
Avatar de Eric Berger
 
Inscription : octobre 2002
Messages : 340
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2002
Messages : 340
Points : 475
Points : 475
Envoyer un message via ICQ à Eric Berger Envoyer un message via MSN à Eric Berger Envoyer un message via Skype™ à Eric Berger
Citation:
Envoyé par gailup
OK merci ca fonctionne.

Donc tous le code PHP sur les session doit se faire avant les balise HTML.
Ou bien c'est seulement le session_start() ; qui doit être avant les balises HTML.


Merci D'avance.
Tout ce qui a trait aux sessions doit se faire avant que le moindre caractère ne soit envoyé vers ton navigateur. Par exemple:
Code :
1
2
3
4
5
6
7
8
9
10
<?php
  echo "cette ligne empêche la transmission des infos de session";
  session_start() ;
?>
<html>
<head>
</head>
<body>
</body>
</html>
Ceci ne fonctionnera pas, parce-que le echo va envoyer de l'info vers le navigateur.
Eric Berger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 11h46   #9
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Citation:
Envoyé par Eric Berger
Tout ce qui a trait aux sessions doit se faire avant que le moindre caractère ne soit envoyé vers ton navigateur.
Par contre les variables sessions fonctionnent nimporte où:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
   session_start();
?>
<html>
<head>
</head>
<body>
Traitement en cours ...
<?
   $_SESSION['pseudo'] = "TOTO";
?>
 
</body>
</html>
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 12h15   #10
Membre du Club
 
Inscription : mai 2006
Messages : 206
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mai 2006
Messages : 206
Points : 59
Points : 59
Envoyer un message via MSN à gailup
OK

Merci beaucoup.
__________________
Gailup.
gailup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 12h21   #11
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
D'une manière générale, tout ce qui envoie un header HTTP doit être fait AVANT l'envoie du premier caractère au navigateur...

ce qui envoie un header HTTP c'est :
header, setcookie (cookies envoiyés sous formes d'en-tête HTTP) et session_start (envoie d'un cookie) entre autres (je connais pas toutes les fonctions, mais ces les principales...)

de plus, toute fonctions appellant une de ces fonctions est également soumis aux même exigences (logique )
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 17h13   #12
Rédacteur
 
Avatar de Eric Berger
 
Inscription : octobre 2002
Messages : 340
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2002
Messages : 340
Points : 475
Points : 475
Envoyer un message via ICQ à Eric Berger Envoyer un message via MSN à Eric Berger Envoyer un message via Skype™ à Eric Berger
Citation:
Envoyé par Anduriel
Par contre les variables sessions fonctionnent nimporte où:
Arf.... c'est juste....

Désolé pour l'info un peu foireuse...
Eric Berger 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 23h30.


 
 
 
 
Partenaires

Hébergement Web