IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Free Discussion :

session php chez free


Sujet :

Free

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
    $test=1;
    session_start();
    $_SESSION['test']=$test;
    ?>
    Qu'est-ce qui ne va pas ?

  2. #2
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    J'ai oublié de donner le msg d'erreur que j'obtiens ; le voici :

    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

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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.

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    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...

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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.

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    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").

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    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.

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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à.

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    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 :
    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.

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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.

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    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.

  12. #12
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    J'ai un peu les boules, car j'ai refait un essai avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  13. #13
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah oui : tu n'as pas mis session_start() avant la toute première ligne de code HTML. Il faut faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    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 :

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déploiement d'un site PHP chez Free pb avec MySQL
    Par Target72 dans le forum WebDev
    Réponses: 1
    Dernier message: 04/09/2010, 11h34
  2. Les sessions PHP chez OVH
    Par laurentSc dans le forum OVH
    Réponses: 0
    Dernier message: 22/06/2010, 23h11
  3. Hébergement PHP chez Free
    Par adilou1981 dans le forum Free
    Réponses: 6
    Dernier message: 22/02/2010, 10h03
  4. créer un dossier avec php chez free
    Par stars333 dans le forum Langage
    Réponses: 1
    Dernier message: 04/05/2007, 19h25
  5. Envoi d'un mail en PHP chez free
    Par noutnout53 dans le forum Langage
    Réponses: 7
    Dernier message: 25/08/2006, 18h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo