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 :

Session et récupération de variable [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Photographe
    Inscrit en
    Novembre 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Photographe
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2013
    Messages : 37
    Par défaut Session et récupération de variable
    Bonjour,

    J'enregistre une variable dans une session que j'aimerai récupérer dans une page. Cette variable doit ensuite m'aider à extraire une données dans l'un des champs de ma table sql. Voilà ce que j'ai écris mais qui ne fonctionne pas :-(


    VOICI LE CODE QUI SE TROUVE SUR LA PAGE OU J'OUVRE UNE SESSION :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php $titre = get_the_title($ID); // Ce code sert à récupérer le titre de ma page WP qui me servira à extraire une donnée dans une table sql
     
     session_start();
    		$_SESSION["ma_session"] = "$titre";
    		?>
    ET VOICI LE CODE QUI SE TROUVE SUR LA PAGE OU JE SOUHAITE RÉCUPÉRER MA VARIABLE $titre :

    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
    23
    <?php 
    header('Content-Type: text/html; charset=utf-8'); 
    session_start();
    	echo $_SESSION["ma_session"]; // C'est un test. Cela fonctionne. Ma variable titre s'affiche correctement.
     
    	 try
    	{
    	$bdd = new PDO ('mysql:host=localhost;dbname=ma_base;charset=utf8','utilisateur','pswd');
    	}
    	catch (Exception $e)
    	{
    	die('Erreur : ' . $e->getMessage());
    	}
     
    	$req = $bdd->prepare('SELECT * FROM ma_table WHERE nom = ?');
    	$req->execute(array($titre)); // Là, j'essai de récupérer la variable $titre mais j'ai un doute...
    	while ($donnees = $req->fetch())
    	$panoid=$donnees['adresse'];	// je souhaite récupérer les données du champ adresse
    	{
     
    	echo $panoid; // Rien ne s'affiche. Je suppose donc que ma variable n'est pas déclarée. Comment faire ?
    	 } 
    ?>
    Quelqu'un peut-il m'aider à corriger ?

    Merci.

  2. #2
    Membre expérimenté
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Par défaut
    Bonsoir,

    Quelques petites erreurs.

    Il faut toujours mettre session_start() en début de page.

    Dans ta première page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION["ma_session"] = $titre;
    Dans ta seconde page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $titre = $_SESSION["ma_session"];
    La variable $panoid est écrasée à chaque itération de ta boucle while qui est elle-même mal écrite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while ($donnees = $req->fetch()) {
      $panoid  .= $donnees['adresse'];	
    }
    echo $panoid;
    Natso

  3. #3
    Membre averti
    Homme Profil pro
    Photographe
    Inscrit en
    Novembre 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Photographe
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2013
    Messages : 37
    Par défaut
    Bonsoir,

    J'ai essayé d'ouvrir la session en utilisant la syntaxe que tu m'as conseillé mais cela ne fonctionne pas. J'ai bien mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION["ma_session"] = $titre;
    dans ma première page
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $titre = $_SESSION["ma_session"];
    dans la seconde.
    J'ai fait un test avec echo, rien.

  4. #4
    Membre averti
    Homme Profil pro
    Photographe
    Inscrit en
    Novembre 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Photographe
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2013
    Messages : 37
    Par défaut
    Oups, non, désolé, cela fonctionne, j'avais oublié session_start ! Grand merci à toi donc. Toutefois, peux-tu m'expliquer la boucle ? La syntaxe me trouble notamment le .=

    merci.

  5. #5
    Membre expérimenté
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Par défaut
    Bonjour,

    Dans ton cas, tant qu'il y a des lignes retournées par ta requête, le script exécute le code entre { et }.

    S'il y a une seule ligne retournée par ta requête, pas besoin de boucle.

    Le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $panoid  .= $donnees['adresse'];
    est identique à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $panoid  = $panoid.$donnees['adresse'];
    Un lien certainement plus explicite:http://www.php.net/manual/fr/languag...ors.string.php

    Natso

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

Discussions similaires

  1. Problème de récupèration de variable de session
    Par l.laurent60 dans le forum Langage
    Réponses: 2
    Dernier message: 10/08/2010, 16h28
  2. initialisation et récupération de variable de session
    Par max33370 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 27/05/2010, 14h08
  3. récupération de variable de sessions
    Par Junior_jef dans le forum Langage
    Réponses: 8
    Dernier message: 21/03/2008, 15h29
  4. Récupération de variable de session
    Par cel.Saint-Louis dans le forum Langage
    Réponses: 4
    Dernier message: 02/12/2007, 04h17
  5. Réponses: 7
    Dernier message: 23/04/2006, 01h38

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