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 :

Session liée aux données de la BdD [Débutant(e)]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Session liée aux données de la BdD
    Bonjour,

    J ai fait le tour de pas mal de site et forum mais je n ai pas vraiment trouvé ma reponse...alors je tente chez les pro

    Voila ce que je cherche a faire :

    J ai fait une session qui a l air de fonctionner. (miraaacle ). La session verifie login et pass de la BdD
    Mais dans la BdD il existe d autres champs qui sont associés au login, notament prenom et nom.
    C est justement ces 2 derniers qui m interesse. Je voudrais qu une fois logué on puisse lire 'bonjour Pierre Dupond, ou bonjour machin chose ' en fonction du login...
    J ai essayé pas mal de chose suggeré sur le net mais a chaque fois me suis retrouvé avec des messages d erreurs...
    Voici mon code
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
    // connexion vers mysql ici
    mysql_connect("localhost", "root", "");
    	mysql_select_db("test");
    // pour l instant je tente en local...
     
    if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
      extract($_POST);
      // on recupère le password de la table qui correspond au login du visiteur
      $sql = "select pass, prenom, nom from session where login='".$login."'";
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
      $data = mysql_fetch_assoc($req);
     
     
     
      if($data['pass'] != $pass) {
        echo '<p>Mauvais login / password. Merci de recommencer</p>';
        include('login.html'); // On inclut le formulaire d'identification
        exit;
      }
      else {
        session_start();
        $_SESSION['login'] = $login;
     
     
     
        echo 'bienvenue ';// C EST ICI QUE JE VEUX METTRE LE PRENOM ET LE NOM
     
    //vers accueil de mon espace membres
    include("indexmembre.html");
     
      }
    }
    else {
      echo '<p>Vous avez oublié de remplir un champ.</p>';
       include('login.html'); // On inclut le formulaire d'identification
       exit;
    }
     
     
    ?>
    Ca va vous paraitre vraiment facile comme question, mais je vous assure que pour moi c est compliqué, pis c est peut etre juste un pb de . ou " ou ' mais tout ce que j ai essayé m amene que des erreurs!

    Ps : je suis un debutant tres debutant alors svp pas de gros mot Des mots TRES simples svp voir le code tel qu il devrait etre. (oui oui je suis exigeant )

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo 'bienvenue ' . $data['prenom'] . ' ' . $data['nom'];
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Deja une reponse! merci efficks

    J ai modifié tel que tu as ecris mais j ai un pb bizarre...

    Quand je modifie mon code pour le tien, j ai toujours la fenetre log, indefiniment...je passe pas a autre chose, que le log/pass soit valide ou pas.

    Pourtant, j ai rien changé a part la ligne que tu m as dite!

    Grrr

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Lors de mes differentes lectures, certains parlent d enregistrer des variables de session
    Ca donnait une forme du style :
    session_register( "qqchose" );
    Il faudrait pas faire ca avant de pouvoir afficher mes variables?

    Je demande ca mais j y connais rien...

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par freeman06
    Lors de mes differentes lectures, certains parlent d enregistrer des variables de session
    Ca donnait une forme du style :
    session_register( "qqchose" );
    Il faudrait pas faire ca avant de pouvoir afficher mes variables?
    Vous le faîtes déjà ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['login'] = $login;
    Ainsi, une variable de session nomée login est créée (ou écrasée si celle-ci existe déjà) avec la valeur de la variable login.

    Par ailleurs, il faut savoir que la fonction session_register est dépréciée (voir article sur les sessions).

    Citation Envoyé par freeman06
    Quand je modifie mon code pour le tien, j ai toujours la fenetre log, indefiniment...je passe pas a autre chose, que le log/pass soit valide ou pas.
    Pourriez-vous être plus clair ?


    Julp.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Joyeux noel à tous !! (Et surtout a julp et efficks qui ont bien voulu me repondre )

    Le pb de la page de log qui se rechargé tout le temps est reglé (grossiere erreur de debutant )

    Et je pense qu avec vos 2 messages j ai enfin compris comment se servir de superglobal avec une bdd!

    $data correspond aux valeurs de mes variables lors de ma request sur la bdd
    $data = mysql_fetch_assoc($req);

    $_SESSION['nom'] = $data['nom']; me permet de "mettre en session" la valeur de nom

    echo $_SESSION['nom'] me permet d afficher le nom de la personne connecté sous cette session quelque soit la page (pour peu qu il y ai un session start)

    C est ca? ou me manque encore des bouts?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    tien je me pose encore une question sur les superglobales...

    Si je veux envoyer un mail avec dedans une superglobale ca donne quoi?
    mail('monadress@hotmail.com','sujet',$message,$headers));

    ou $message sera qqchose comme :
    $message = 'M $_SESSION['nom'] a ecrit $text' hhhuuum pas sur

Discussions similaires

  1. [Débutant] colonne liées aux données d'une autre table
    Par Lendcap dans le forum VB.NET
    Réponses: 1
    Dernier message: 03/04/2012, 22h26
  2. Réponses: 10
    Dernier message: 18/08/2010, 18h32
  3. ADOQuery avec Checkbox non liée aux données
    Par StarMusic dans le forum Delphi
    Réponses: 6
    Dernier message: 25/05/2007, 16h45
  4. Réponses: 5
    Dernier message: 09/03/2007, 11h09
  5. [Hibernate]Accès aux données BDD via Hibernate
    Par LESOLEIL dans le forum Hibernate
    Réponses: 8
    Dernier message: 17/05/2005, 20h39

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