Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > Hébergement > Gratuit > Free
Free Forum de support pour vos questions techniques sur votre hébergement chez Free.fr
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 29/02/2008, 17h52   #1
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 883
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 883
Points : 1 320
Points : 1 320
Par défaut session php chez free

Bonjour,

j'ai un petit souci : je voudrais faire une session ds du code php hébergé chez free, et ça ne marche pas ; il y a peut-être une erreur grossière (cela fait moins d'1 an que je connais le php). Peut-on m'aider ? J'ai fait un essai ultra simple ; voici le code php qui ne marche pas :
Code :
1
2
3
4
5
<?php 
$test=1;
session_start();
$_SESSION['test']=$test;
?>
Qu'est-ce qui ne va pas ?
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 17h56   #2
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 883
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 883
Points : 1 320
Points : 1 320
J'ai oublié de donner le msg d'erreur que j'obtiens ; le voici :

Citation:
Warning: session_start() [function.session-start]: open(/mnt/163/sda/2/6/laurentschmitt18/sessions/sess_de2bb4d7fa0cb2655b63d5cf36ffe6bc, O_RDWR) failed: No such file or directory (2) in /mnt/163/sda/2/6/laurentschmitt18/apel/forum/test.php on line 14
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 20h27   #3
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Il me semble qu'il faut créer le répertoire "sessions" à la racine de l'hébergement, il n'existe pas par défaut.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 21h05   #4
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 883
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 883
Points : 1 320
Points : 1 320
Je viens de le créer, mais ça ne change rien. J'apprécierais d'avoir le témoignage de qqun chez qui ça marche...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 21h38   #5
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Mon témoignage ne te suffit pas ? J'ai les droit 755 sur mon répertoire. Il est à la racine de mon hébergement. Et il s'appelle sessions avec un s à la fin et tout en minuscule.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 23h09   #6
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 883
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 883
Points : 1 320
Points : 1 320
Je ne voulais pas être désagréable... Avant, j'avais créé ce répertoire ds un autre répertoire (c'était un sous-répertoire). J'ai recommencé en le mettant vraiment à la racine de l'espace ; cette fois, après l'essai, il y avait qq chose dedans (et pas avant). Donc c'est bien important. Mais, j'ai qd même le warning : est-ce que le même essai (simplissime) marche chez toi ?... (et je ne sais ce que veut dire "droits 755").
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2008, 17h04   #7
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 883
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 883
Points : 1 320
Points : 1 320
J'aimerais bien tordre le coup à ce pb, surtout que je suis sûr que ça doit marcher. Le plus simple serait de me donner un exemple simple qui marche.
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2008, 20h06   #8
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
T'es sûr que c'est vraiment le même message d'erreur ? Logiquement, vu qu'il arrive à créer des fichiers dans le répertoire sessions, il ne devrait plus planter de cette façon-là.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2008, 22h00   #9
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 883
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 883
Points : 1 320
Points : 1 320
Non, il y a effectivement une variante : avant, il y avait en tout, je crois, 3 msgs d'erreur, et il n'y en a plus que 2 : les suivants :
Citation:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/163/sda/2/6/laurentschmitt18/test.php:12) in /mnt/163/sda/2/6/laurentschmitt18/test.php on line 14

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/163/sda/2/6/laurentschmitt18/test.php:12) in /mnt/163/sda/2/6/laurentschmitt18/test.php on line 14
test 2
Je serais près à parier que avant, parmi les 3 erreurs, j'avais déjà ces 2-là. (surtout que l'erreur que j'avais citée l'autre fois venait sûrement de l'inexistence du répertoire "sessions".
Et en fait, la ligne n°14, qui semble poser pb, est celle où il y a "session_start();".
Le test2 que l'on voit, je ne sais pas pourquoi il est là, mais ds test.php, après le code php, je fais un lien vers test2.php, et ds lequel je tente d'afficher la variable de session.
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 10h16   #10
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Il faut faire un session_start() tout au début du script, avant la première ligne de code HTML. En fait, vu que les sessions marchent par cookie, le serveur doit envoyer un cookie au navigateur, c'est-à-dire un en-tête HTTP spécifique. Les en-têtes HTTP doivent être envoyés au navigateur avant tout contenu (= tout code HTML). Or, apparemment, ton script as déjà envoyé du code HTML avant de faire le session_start(). PHP ne peut donc plus envoyé le cookie de session qui va bien, d'où le message d'erreur.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 10h34   #11
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 883
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 883
Points : 1 320
Points : 1 320
Tu as raison : il y a une ligne de code avant le session_start. Je ferai l'essai ce soir, vu que là, je suis au bureau, et que le réseau m'empêche de me connecter à Free... En tout cas, ton explication tient la route ; j'y crois.
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 19h31   #12
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 883
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 883
Points : 1 320
Points : 1 320
J'ai un peu les boules, car j'ai refait un essai avec le code suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>test</title>


</head>
<body>

<?php 

session_start();
//$test=1;
//$_SESSION['test']=$test;
?>
<!--<a href="test2.php">test 2</a>-->
</body>
</html>
et j'ai exactement les mêmes warnings...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 20h00   #13
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Bah oui : tu n'as pas mis session_start() avant la toute première ligne de code HTML. Il faut faire comme ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>test</title>


</head>
<body>

<?php 

//$test=1;
//$_SESSION['test']=$test;
?>
<!--<a href="test2.php">test 2</a>-->
</body>
</html>
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 22h10   #14
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 883
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 883
Points : 1 320
Points : 1 320
Je suis super content d'avoir cliqué sur Résolu.
Pour moi, l'entête, ce n'était pas du code. Et j'ai mixé plusieurs choses obtenues sur ce forum (tout par toi, je crois) : en effet, je lis la résolution de l'utilisateur pour afficher l'image qui va bien : je fais ce traitement en php, et comme la lecture de la résolution se fait en javascript, pour passer les paramètres du js au php, on fait une redirection (window.location), mais comme action d'un formulaire, ce n'est pas possible ; donc comme on passe forcément par une autre page avant (la page d'accueil), je stocke là la résolution ds des variables de session, puis je les récupère ds l'action du formulaire. Et ça marche. C'est génial : c'est bcp plus compliqué que ce que je n'ai jamais fait (et dire qu'il y a un an, je ne connaissais même pas l'existence du php ! (et il y a 2 ans, je ne connaissais rien au html)).
Merci bcp de ton aide :
laurentSc 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 08h28.


 
 
 
 
Partenaires

Hébergement Web