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 26/09/2006, 17h43   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
Par défaut Session_start - erreur à l'initialisation

voila, en recherche j'ai vu beaucoup de problemes avec les sessions,
mais moi je bloquant encore plus tot

en fait à la premiere ligne session_start(); ça plante déja,
problème visible ICI.

Alors voila, si vous saviez pourquoi je ne peux initialiser... ^.^

Code :
1
2
3
4
5
6
7
8
9
<?php
	session_start(); /* <-- erreur */
	$_SESSION['enregistré'] = '';
 
	$erreur = false;
	if (isset($_POST['submit']))
	{
		// bouton submit pressé, je traite le formulaire
		$login = $_POST['login'];
/* etc */

Merci.
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 17h51   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Tu as affiché plein plein de choses avant ton session_start. session_start doit être appelé avant tout affichage.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 17h57   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
ah d'accord !!!

en fait, si je pose mon session_start au debut du body,
le reste je pourrais le poser ou j'en ai besoin, et ca marchera si j'ai bien compris.
J'essaye et je fais signe,

Merci beaucoup Eusebius.
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 18h02   #4
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Espia
ah d'accord !!!

en fait, si je pose mon session_start au debut du body,
le reste je pourrais le poser ou j'en ai besoin, et ca marchera si j'ai bien compris.
J'essaye et je fais signe,

Merci beaucoup Eusebius.
Non, pas "au début du body", tu le mets avant le premier caractère que tu écris dans ton fichier HTML ! Avant le premier saut à la ligne, avant la première ouverture de balise, avant le premier espace. Sinon, le moindre caractère envoyé envoie les headers, et c'est mort.
http://php.developpez.com/faq/?page=...s_already_sent
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 18h03   #5
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
Ah, tient, pourtant apres ca m'a l'air de marcher.
Je vais voir tout ca, merci.

Je me met au php depuis peu, avant j'étais ASP C#, il faut que je m'y
habitue (et apprenne aussi :p).
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 18h06   #6
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Espia
Session_start(); --> juste apres le body
NON.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 18h07   #7
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
oui oui, désolé, je le met tout en haut,
j'ai éditée mon post.

Edit :
Ben en fait non,
Code :
1
2
3
4
5
<? session_start(); ?>
<html>
<head>
<title>mon titre</title>
<meta http-equiv="Conten....etc
l'initialisation session_start n'est toujours pas acceptée, même à la 1ere ligne.
Probleme visible la
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h05   #8
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Perso je vois aucun problème (tu as du le régler entre temps)... .. .

Par contre tu as un vilain code html qui se balade dans la source de ta page... .. .

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</style>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
</body>
</html>
<br>
<table id=
@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h14   #9
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
Ah oui, a cause des includes, je m'occuperais du nettoyage plus tard, mais merci.

En fait, je continu de chercher car meme si je met le session_start a la premiere ligne, ca bugue. C'est un mystere pour moi la ^^.

edit : et le gros cafouillage pour les styles (à mettre dans un fichier separé accessible par toutes les pages), mais je ne savais pas comment ca marchait.
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h21   #10
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Espia
En fait, je contiu de chercher car meme si je met le session_start a la premiere ligne, ca bugue.
On parle bien de la première ligne du document général, pas la première ligne d'un include ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h26   #11
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
Oui oui, enfin je pense que c'est ce que tu veux dire,
ma page index commence par ca :

Code :
1
2
3
4
5
6
7
<?php session_start();
$_SESSION['enregistré'] = '';
$erreur = false; ?>
<html>
<head>
<title>Animes.Espipi</title>
<meta http-equiv="Content
Et plus loin dans un tableau, il y a la suite :

Code :
1
2
3
4
5
6
7
8
9
10
11
		<?php
 
	if (isset($_POST['submit']))
	{
		// bouton submit pressé, je traite le formulaire
		$login = $_POST['login'];
		$pass = $_POST['pass'];
 
		if (($login == "login") && ($pass == "pass"))
		{
			$_SESSION['enregistré'] = "".$login;    /* etc etc */
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h29   #12
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Et là c'est quoi ton erreur ? (avec les numéros de lignes, et les lignes de code correspondantes)

Au passage les accents dans les noms de variables et les index de tableaux, c'est pas une très bonne idée.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h35   #13
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
en haut de la page :
Code :
1
2
3
4
5
Warning: session_start() [function.session-start]: open(/mnt/120/free.fr/3/4/espia/sessions/sess_1402c608d34c7d033ee005d96761a861, O_RDWR) failed: No such file or directory (2) in /mnt/120/free.fr/3/4/espia/animes.514DBX/index.php on line 1
 
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/120/free.fr/3/4/espia/animes.514DBX/index.php:1) in /mnt/120/free.fr/3/4/espia/animes.514DBX/index.php on line 1
 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/120/free.fr/3/4/espia/animes.514DBX/index.php:1) in /mnt/120/free.fr/3/4/espia/animes.514DBX/index.php on line 1
et en dessous :
Code :
1
2
3
Warning: Unknown: open(/mnt/120/free.fr/3/4/espia/sessions/sess_1402c608d34c7d033ee005d96761a861, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
 
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/120/free.fr/3/4/espia/sessions) in Unknown on line 0
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h40   #14
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Chez free il faut créer toi même un répertoire "sessions" à la racine de ton site... comme le répertoire n'existe pas il n'arrive pas à créer le fichier... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h41   #15
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
Je rajoute un petit Zip, peut etre que l'erreur sera plus facilement visible comme ca...

Zip - index et test
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h41   #16
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
Jure ! Et c'est tout ?
Enfin, je vais voir.

Effectivement, les messages d'erreurs ont disparu, mais la session ne reste pas enregistré, quand je recharge index.php, il demande a nouveau de se reenregistrer.
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h43   #17
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Citation:
Envoyé par Espia
Jure ! Et c'est tout ?
Normalement oui... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h45   #18
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par kankrelune
Chez free il faut créer toi même un répertoire "sessions" à la racine de ton site... comme le répertoire n'existe pas il n'arrive pas à créer le fichier... .. .
C'était même dans la faq : http://php.developpez.com/faq/?page=...#sessions_free
Mais bon fallait savoir quoi chercher.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 20h49   #19
Invité de passage
 
Inscription : septembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 10
Points : 0
Points : 0
oui, me faut manger de la doc php, hehe.

Arf, la session reste pas enregistré quand meme, meme si il n'y a plus de messages d'erreur sur la page.
Espia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2006, 13h21   #20
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Fais voir ton code de test... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web