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

Langage PHP Discussion :

Sessions multiples et variables qui ne passent pas


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Expert Banque en ligne
    Inscrit en
    Septembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert Banque en ligne
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2005
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Sessions multiples et variables qui ne passent pas
    Bonsoir,

    J'en perds un latin que je n'ai jamais appris...

    Je cherche à créer une identification de type "User/Mdp" mais il semble que je sois un crétin sur la manip des sessions.

    Comme je passe d'erreur en erreur... je fais un truc bête comme chou : forums, tutoriels, essais de modif de mes propres error.log & php.ini. Rien.
    Donc, je simplifie le code à outrance pour voir où ça cloche...

    Voici le code de la page test1.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    session_start();
     
    $_SESSION['prenom'] = 'Ro';
    $_SESSION['nom'] = 'Toto';
     
    echo('<form method="post" action="test2.php"><input type="submit" value="Envoyer" /></form>');
     
    //phpinfo();
    ?>
    et celui de la page test2.php :

    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
     
    <?php
    session_start();
     
    error_reporting(E_ALL);      // Ca je l'ai vu...
    ini_set('display_errors', 1);  // ... noté...
    echo '<pre>';                   // ... dans un...
    var_dump(session_id());    // ... forum...
    var_dump($_SESSION);    // ... pour faciliter...
    echo '</pre>';                // ... le dépannage.
     
     
    if(isset($_SESSION['prenom'])) echo('Variable prenom pass&eacute');
        else echo('La variable prenom n\'est pas passée<br><br>');
    if(isset($_SESSION['nom'])) echo('Variable nom passe&eacute');
        else echo('La variable nom n\'est pas passée');
     
    ?>

    Résultat :

    1°) A l'affichage :
    "string(26) "1vrps9onr2qo725ap1ak1d8g64"
    array(0) {
    }

    La variable prenom n'est pas passée

    La variable nom n'est pas passée"

    2°) Au chargement de la page test1.php, une session est créée (le fichier apparaît dans l'arborescence des fichiers sous Dreamweaver). Et à la validation du bouton, donc à l'affichage de la page test2.php, il affiche le message ci-dessus avec le nom de la session "1vrps9..." mais il en crée une seconde (2 fichiers sessions sous Dreamweaver )...

    Je suis totalement perdu !

    Info :
    * O.S. Win XP Familial
    * Dreamweaver 8
    * EasyPHP 2.0.0
    * FireFox 2.0.0.7
    * Php.ini avec options par defaut partout sauf
    - session.save_path = C:\\Program Files\\EasyPHP 2.0b1\\www\\tmp
    &
    - session.cookie_path = C:\\Program Files\\EasyPHP 2.0b1\\www\\tmp
    * Mais... chose qui m'étonne (est-ce normal ?) 2 fichiers php.ini :
    - C:\Program Files\EasyPHP 2.0b1\apache\php.ini
    &
    - C:\Program Files\EasyPHP 2.0b1\conf_files\php.ini

    Si quelqu'un y voit plus clair que moi... Je veux bien un coup de main
    Merci de votre aide.

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    Ca devrai marcher...

    Tu es sur que sur ton fichier, il n'y a pas d'HTML ou pas un d'envoi de contenu (echo, print ...) avant le session_start();

  3. #3
    Membre à l'essai
    Homme Profil pro
    Expert Banque en ligne
    Inscrit en
    Septembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert Banque en ligne
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2005
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Ben... pour la page finale, il faudra que je vérifie car j'ai des include et je sais que cela peut perturber l'affichage.
    Mais comme cela ne fonctionnait pas, j'ai d'abord voulu élaguer mon code jusqu'à un minimalisme excessif pour trouver le bug.
    Donc, j'ai créé des pages de test (1 & 2) dont l'intégralité du code est celui que j'ai publié : donc, non, il n'y a rien avant... Mais ça ne marche toujours pas !
    Cela peut-il venir de la config Apache ? php.ini ?
    Je rame...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Slt,

    Essaye de rajouter comme ceci

    session_start();
    session_id();

    Je ne suis aps sur que sa soit le plus propre mais sa regle defoi des problèmes suivant ta configuration.

  5. #5
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    J'ai exactement le meme probleme... Si quelqu'un a une solution?

  6. #6
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Juste une idée comme ça : autorise les cookies, en particulier pour le site easyphp : 127.0.0.1
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  7. #7
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    vérifiez surtout que le session_start(); soit en premiere ligne !!!

    un simple "doctype", une balise <body> ou n'importe quoi et la session ne marchera pas ;-)

Discussions similaires

  1. variables de session qui ne passent pas
    Par cels dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 28/11/2006, 10h46
  2. [Tableaux] Variable qui ne prend pas sa valeur
    Par stephane78 dans le forum Langage
    Réponses: 11
    Dernier message: 19/08/2006, 20h30
  3. [Système] variable qui ne passe pas !!!
    Par azorol dans le forum Langage
    Réponses: 21
    Dernier message: 20/02/2006, 10h53
  4. [Mail] liens qui ne passent pas...
    Par tnntwister dans le forum Langage
    Réponses: 13
    Dernier message: 03/01/2006, 18h42
  5. [Tableaux] variable qui ne passe pas
    Par oceane751 dans le forum Langage
    Réponses: 5
    Dernier message: 31/12/2005, 02h56

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