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

PHP & Base de données Discussion :

syntaxe $_SESSION [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut syntaxe $_SESSION
    Bonsoir,
    Je bloque depuis 2 jours sur un problème qui doit être pourtant très simple... pour vous.
    J'ai crée un formulaire php d'insertion dans une bdd MySql. Tout est OK.

    Ensuite, j'affiche tous les enregistrements de la base sous une forme de liste, avec seulement 3 informations sur une dizaine. Toujours OK.
    Puis, je souhaiterais que lorsqu'on clique sur un de ces enregistrements s'affiche une nouvelle page avec l'ensemble des informations.

    L'identification de l'enregistrement serait transmis par une variable de session.
    Je bloque sur un bête problème de syntaxe. J'ai cherché, repris les tutos... rien à faire.

    Je récupère les informations pour la liste avec la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($donnees = $resultat->fetch())
    et je l'affiche avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $donnees['identification']; ?>
    Tout va bien.

    Mais je n'arrive pas à récupérer ce petit bout de code $donnees['identification'] dans une variable de session sur la page suivante. Tous mes essais me retourne une variable vide, c'est à devenir dingue !
    Voici mon dernier essai sur la 2ème page qui me renvoi "NULL" : ça je le sais ;-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start();
    $_SESSION['identification'];
    var_dump($_SESSION['identification']);
    ?>
    Auriez vous, SVP, une piste pour m'orienter ?
    Merci par avance,
    Evelyne31

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bonsoir. Ben je ne te vois pas le mettre en session avant de passer à la page suivante ?
    Page 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    session_start();
     
     
     
    //à priori ici tu n'as pas une boucle, tu n'as qu'un seul enregistrement
    $row = $resultat->fetch();
    $_SESSION['identification']=$row['identification'];
    Page 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    session_start();
    if(isset($_SESSION['identification'])){
       var_dump($_SESSION['identification']);
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 381
    Par défaut
    Bonsoir,

    La ligne 3 ( $_SESSION['identification']; ) ne fait strictement rien, il n'y a pas d'instruction. $_SESSION est un tableau.

    Il faudrait savoir comment la page 2 est appelée par la page 1 : formulaire (méthode POST), lien (méthode GET). Cela permettrait de récupérer les données.

  4. #4
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Bonsoir xdelatour et Dentrite pour vos réponses.
    En bas de la 1ère page "liste_texte.php" j'ai inséré selon vos conseils :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    }
    $row = $resultat->fetch();
    $_SESSION['identification']=$row['identification'];
    ?>
    Puis ma 2ème page inchangée avec en haute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start();
    if(isset($_SESSION['identification'])){
       var_dump($_SESSION['identification']);
    }?>
    L'affichage de la 1ère page est OK.
    L'affichage de la 2ème page = page entièrement blanche sans aucun message d'erreur (j'ai bien tout paramétré pour obtenir les messages d'erreur dans mon navigateur et ça marche bien normalement).
    Merci si vous pouvez m'orienter vers ce qui cloche.
    Evelyne31

  5. #5
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Tu n'as pas mis le session_start(); en première ligne de ton script 1 ???
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Si, ils sont bien sur les 2 pages en tout début comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    session_start();
    ?>
    C'est bien incompréhensible tout ça ?
    Merci,
    Evelyne31

  7. #7
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Pour répondre à xdelatour : la page 2 est est appelée par la page 1 par des liens sur des boutons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href ="page_texte.php">
            <span class ="bouton_voir">Voir</span></a>
    Merci pour ton aide.
    Evelyne31

  8. #8
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Ce n'est peut-être pas un problème de session alors.
    Page 1, essaie ça pour en avoir le coeur net :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    session_start();
    $_SESSION['identification']='test';
    Et dis-nous ce qu'il affiche en page 2.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  9. #9
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Merci Dentrite.
    Mais le problème persiste, la page 2 est complètement vide, blanche.
    Je récapitule :
    haut page 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    $_SESSION['identification']='test';
    ?>
    et haut page 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start();
    if(isset($_SESSION['identification'])){
       var_dump($_SESSION['identification']);
    }?>
    Merci.
    Evelyne31

  10. #10
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Et pour ton test, tu as bien
    1) rafraichi la page 1
    2) cliqué sur le lien page1 pour accéder à la page 2
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  11. #11
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Test suivant page 1 et tu restes en page 1, tu te contentes de la rafraîchir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if(session_start()!==false){
      echo 'le démarrage de session fonctionne !<br/><br/>';
    }
    else{
      echo 'Démarrage de session impossible !<br/><br/>';
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  12. #12
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Oui DenDrite, j'ai bien fait cela.
    Tout cela dépasse ma compréhension. Il me semble que mon problème est la base des développements php/sql :
    - on enregistre des données dans une base par un formulaire,
    - on récupère les données pour les afficher partiellement sous forme de liste, ligne à ligne,
    - et avec un lien "a href " on accède à une autre page (grâce à des variables de session) qui détaille l'intégralité de l'enregistrement ?
    Il y a quelque chose qui m'échappe ?
    Je n'ai jamais rencontré ce problème ?
    Merci par avance.
    Evelyne31

  13. #13
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Ton seul problème pour l'instant, c'est les sessions, qui n'ont rien à voir avec ce dont tu parles.
    Fais le test dont je te parle dans mon dernier message.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  14. #14
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Désolée Dendrite je n'avais pas vu ton message. Merci.
    Voici le résultat du test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Notice: A session had already been started - ignoring session_start() in /Applications/MAMP/htdocs/metalla/liste_texte.php on line 3
    le démarrage de session fonctionne !
    En espérant que cela pourra te permettre de m'orienter vers une piste de recherche.
    Evelyne31.

  15. #15
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Oui, ça c'est une bonne nouvelle.
    Maintenant, mets à la racine de ton site un répertoire que tu nommes tmp.

    Je me dis quand même que si tu avais rafraîchi ta page tout à l'heure, ça aurait du te mettre ça

    Notice: A session had already been started - ignoring session_start()
    Mais bon, je peux me tromper...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  16. #16
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Merci Dentrite,
    Sur tes indications : j'ai créé le dossier "tmp" à la racine de mon site, il reste vide pour l'instant.
    Le lien que tu m'as transmis est très pertinent, j'ai modifié session.auto_start = 0 pour session.auto_start = 1
    J'ai fermé et redémarré MAMP.
    J'obtiens un message d'erreur sur la 1ère page (liste_texte.php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Notice: A session had already been started - ignoring session_start() in /Applications/MAMP/htdocs/metalla/liste_texte.php on line 3
    le démarrage de session fonctionne !
    J'ai bien rafraîchi ma page. Et lorsque je clique sur un lien de cette 1ère page pour accéder à la 2ème page, pas de changement malheureusement, toujours une page vide, avec seulement l'en-tête du site.
    Une idée malgré l'heure tardive ?
    Evelyne31

  17. #17
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Toi personnellement, sur ton navigateur, tu acceptes les cookies ?
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  18. #18
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Je viens de tout vérifier, j'utilise Firefox sous Mac OSX, tout est paramétré comme recommandé pour accepter les cookies.
    Je cale ???
    Evelyne31

  19. #19
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Non, j'ai épuisé mon stock d'idées.
    Prends un fichier page1.php et un fichier page2.php.

    Et mets les sur ton mamp.

    Et via ton navigateur, affiche page1.php et dis-moi ce que tu vois à l'arrivée :
    S'il te plait, ne mets rien d'autre dessus !

    page1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    @session_start();
    $_SESSION['identification']='test';
    header('location:page2.php');
    ?>
    page2.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();
    if(isset($_SESSION['identification'])){
    	echo 'La variable de session EXISTE ! Je l\'ai rencontrée !<br/><br/>';
    	var_dump($_SESSION['identification']);
    	unset($_SESSION['identification']);
    }
    else{
    	echo 'La variable de session n\'existe pas !';
    }
    ?>
    Moi, sur mon wamp, j'obtiens ça :

    La variable de session EXISTE ! Je l'ai rencontrée !

    C:\wamp64\www\test\page2.php:5:string 'test' (length=4)
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  20. #20
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Merci encore Dendrite de suivre mon problème malgré l'heure tardive.
    J'ai créé les 2 fichiers page1.php et page2.php.
    Quand j'ouvre page1.php dans mon navigateur, c'est de suite la page2.php qui s'affiche et j'ai le même message que toi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    La variable de session EXISTE ! Je l'ai rencontrée !
    string(4) "test"
    ... ??? Merci par avance,
    Evelyne31

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. Problème de syntaxe - elements['x'].value
    Par Equus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/02/2005, 11h22
  2. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 17h07
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 10h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 14h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 15h10

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