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 :

[SQL] recupération d'un ID


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut [SQL] recupération d'un ID
    Bonjour à tous,

    J'ai un petit problème. J'ai crée un site avec des pseudos frames. Dans ce site, il y'a un espace membre. Tout se passe très bien, sauf que Lorsque la personne se logue, la redirection (ci-dessous) avec l'id de la personne ne fonctionne pas. la page ne s'integre pas.

    J'ai une page que j'ai appelée centre dans la racine du site où se trouve ts les liens.

    Exemple

    Page centre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif ($page=='membres') {include('pages/esp_mbres/membres.php3?id=$id');}
    Mon espace membre est situé dans un répertoire avec toutes les autres pages comme l'authentification, etc...

    Page authentification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location:index.php?page=membres");
    Comment pourrai-je proceder???

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header("Location:index.php?page=membres&id=...");

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    elseif ($page=='membres') {
    $id = $GET["id;"]
    include('pages/esp_mbres/membres.php3');}
    il faut passer l'id dans le header et ensuite tu l'affecte a une variable avant ton include.
    Bon faudra eventuellemnt faire un isset pour vérifier que tu l'as bien

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    J'ai une erreur dans la ligne que tu m'as donné "parse error, unexpected T_INCLUDE in home...etc...

    Page centre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    if (!isset($_GET["page"])) {include('pages/menu/accueil.php');}
    else {$page = $_GET["page"];}  
    if (file_exists($page)) {include "$page";}
     
    elseif ($page=='membres') { $id = $GET["id;"] include('pages/esp_mbres/membres.php3');}
    A ton avis?

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    oui j'ai oublié le ; et tu l'as pas vu

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Oui, vrai mais ça ne change rien, toujour la meme erreur...

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    c est quoi l'erreur ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    parse error, unexpected T_INCLUDE in home...etc... à cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif ($page=='membres') { ($id = $GET["id"]) include('pages/esp_mbres/membres.php3');}

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    non mais c est avant le include qu il faut un ;

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Ca fonctionne parfaitement...merci beaucoup

    par contre, maintenant lorsque la personne se logue, son profil ne s'affiche pas, elle est vide alors que la base est bien remplie et que l'id correspond bien à cet utilisateur.

    Tu as un avis?

  10. #10
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    sans savoir ce que tu fais, non

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Voici la fameuse page membres avec la récupération des données inscrites dans la base :
    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
    24
    25
    26
     
    <?
    require("protect/conf.php3");
    $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
    if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
     
    //Recupere les paramètres
    $requete=mysql_db_query($sql_bdd,"select * from membre,civilite where membre.id='$id' and civilite.id='$id' ,$db_link) or die(mysql_error());
    $row = mysql_fetch_array($requete);
    
    
    //Identifiant
    $pseudo_membre = $row["pseudo"];
    $email_membre = $row["email"];
    //Civilité
    $nom_civilite = $row["nom"];
    $prenom_civilite = $row["prenom"];
    $dn_jour_civilite = $row["dn_jour"];
    $dn_mois_civilite = $row["dn_mois"];
    $dn_annee_civilite = $row["dn_annee"];
    $adresse_civilite = $row["adresse"];
    $cp_civilite = $row["cp"];
    $ville_civilite = $row["ville"];
    $regionc_civilite = $row["regionc"];
    mysql_close($db_link);
    ?>
    Ensuite pour afficher le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Pseudo : <? echo "$pseudo_membre"; ?>
    E-mail : <? echo "$email_membre"; ?>
    etc...

    La page s'affiche sans problème mais les données se sont pas récupérées...

    Voilà, j'espere que tu pourras m'aider avec cela...

  12. #12
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    t as pas d erreur sql ?

    fais un pour vérifier que tu le reçoit bien

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Non, je n'ai pas d'erreur...et excuse moi mais c'est quoi un var_dump($id)???

    Comment je fais cela???

  14. #14
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    ben t ecris ca dans ta page avant la requete,
    sur une ligne avec un ; a la fin

    ca va afficher la variable

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Cela m'affiche NULL

  16. #16
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    montre la page ou tu fais ton header

  17. #17
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut erreur sql
    je crois qu'il ya une erreur dans ta requete sql de recupération du profil du connecté. l'erreur je crois se situe au niveau de ta jointure quand tu fais membre.id='$id' . en fait si le champs membre.id est de type integer ça ne marche pas puisq tu le compares avec un valeur de type texte notament '$id'
    tout simplement enleve les quotes devant la variable $id

  18. #18
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Je débarque peut-être un peu après le débat mais tant pis, je n'ai pas vu que cette coquille ait été relevée alors je le fais.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif ($page=='membres') {include('pages/esp_mbres/membres.php3?id=$id');}
    Ceci comporte une erreur. Sémantiquement, tu t'attends à ce que PHP include $id dans ton URL, alors que ce n'est pas le cas. Tu as plusieurs possibilités pour le faire correctement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif ($page=='membres') {include('pages/esp_mbres/membres.php3?id='.$id);} // concaténation
    Ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif ($page=='membres') {include("pages/esp_mbres/membres.php3?id=$id");}
    En fait, la vraie manière d'inclure une variable dans une chaîne de caractère est avec les double guillemets. Une variable dans des guillemets simples ne sera pas interprétée.

  19. #19
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    euh non mais ca y est plus ça normalement

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    Après recherche sur recherche, cela ne fonctionne toujours pas.
    Les propositions de Kirkis et de ouatmad ne fonctionnes pas. Cela ne m'affiche plus du tout la page par rapport à la proposition de siddh où la page s'affiche sans problème mais la récup de données est vide.

    Je vous donne le code de la page membre :

    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
    24
    25
    26
    27
     
    <?
    require("protect/conf.php3");
    $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
    if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
    var_dump($id);
     
    //Recuperation des paramètres 
    $requete=mysql_db_query($sql_bdd,"select * from membre,civilite where membre.id='$id' and civilite.id='$id' ,$db_link) or die(mysql_error()); 
    $row = mysql_fetch_array($requete); 
    
    
    //Identifiant 
    $pseudo_membre = $row["pseudo"]; 
    $email_membre = $row["email"]; 
    //Civilité 
    $nom_civilite = $row["nom"]; 
    $prenom_civilite = $row["prenom"]; 
    $dn_jour_civilite = $row["dn_jour"]; 
    $dn_mois_civilite = $row["dn_mois"]; 
    $dn_annee_civilite = $row["dn_annee"]; 
    $adresse_civilite = $row["adresse"]; 
    $cp_civilite = $row["cp"]; 
    $ville_civilite = $row["ville"]; 
    $regionc_civilite = $row["regionc"]; 
    mysql_close($db_link); 
    ?>
    Ensuite pour afficher le résultat :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Pseudo : <? echo "$pseudo_membre"; ?> 
    E-mail : <? echo "$email_membre"; ?>
    Je pense que cela vient de la page nommée centre, celle où il y'a les liens de mes pages car après test sans pseudo frame, en intégrant directement la redirection de la page d'authentification comme suit, cela fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location:membres.php3?id=$id");
    avec ce lien, mes paramètres s'affichent sans difficulté. Donc, j'imagine que la solution se trouve ou dans la page centre ou dans cette redirection

    Page centre avec le résultat que m'avait donné siddh :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    if (!isset($_GET["page"])) {include('pages/menu/accueil.php');}
    else {$page = $_GET["page"];}  
    if (file_exists($page)) {include "$page";}
     
    elseif ($page=='membres') { $id = $GET["id;"]; include('pages/esp_mbres/membres.php3');}
    Avec cette redirection sur la page d'authentification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header("Location:index.php?page=membres&id=$id");
    Quelqu'un aurai une réponse de génie à me proposer, please...?

Discussions similaires

  1. SQL ->-> Recupérer des données d'un champ en C++
    Par bogizo dans le forum C++Builder
    Réponses: 8
    Dernier message: 16/05/2007, 13h48
  2. [SQL] Recupération aléatoire
    Par ThitoO dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/11/2006, 14h31
  3. [SQL] Recupération Requete SQL dans un tableau dynamique PHP
    Par victor.jbju dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/09/2006, 16h48
  4. [SQL] Recupération de l'id de ma ligne insérée
    Par BernardT dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/06/2006, 14h59
  5. Script sql recupérant la structure ET les données.
    Par __fabrice dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/01/2006, 14h17

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