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 en PHP + BDD


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité de passage
    Homme Profil pro
    Webdesigner
    Inscrit en
    Février 2012
    Messages
    0
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2012
    Messages : 0
    Par défaut SESSION en PHP + BDD
    Bonjour à tous,
    Le code ci-dessous crée une SESSION en vérifiant l'accès via une BD.
    Il sort tout droit en auto de Dream CS5.
    Si le login et password envoyés dans le formulaire sont trouvés et existants donc dans la table créée à cet effet, la session est acceptée et on redirige vers une page (Dall.php).

    Notre soucis est simple : comment pouvons-nous récupérer le champ ID (row) de cette table et de la ligne dans laquelle l'ouverture de session a trouvé le login et password après le mécanisme du POST … ceci, dans la page de redirection, donc sur notre page nommée 'Dall.php' ($MM_redirectLoginSuccess) ?
    (… ID de la ligne donc correspondante au login et password trouvés) ?

    En vous remerciant à tous pour votre aide …
    Marc

    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
    43
    <?php
    // *** Validate request to login to this site.
    if (!isset($_SESSION)) {
      session_start();
    }
     
    $loginFormAction = $_SERVER['PHP_SELF'];
    if (isset($_GET['accesscheck'])) {
      $_SESSION['PrevUrl'] = $_GET['accesscheck'];
    }
     
    if (isset($_POST['login'])) {
      $loginUsername=$_POST['login'];
      $password=$_POST['passw'];
      $MM_fldUserAuthorization = "";
      $MM_redirectLoginSuccess = "Dall.php";
      $MM_redirectLoginFailed = "ec-.php";
      $MM_redirecttoReferrer = false;
      mysql_select_db($database_c0000, $c0000);
     
      $LoginRS__query=sprintf("SELECT login, passw FROM `7775fea2` WHERE login=%s AND passw=%s",
        GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
     
      $LoginRS = mysql_query($LoginRS__query, $c0000) or die(mysql_error());
      $loginFoundUser = mysql_num_rows($LoginRS);
      if ($loginFoundUser) {
         $loginStrGroup = "";
     
    	if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
        //declare two session variables and assign them
        $_SESSION['MM_Username'] = $loginUsername;
        $_SESSION['MM_UserGroup'] = $loginStrGroup;	      
     
        if (isset($_SESSION['PrevUrl']) && false) {
          $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
        }
        header("Location: " . $MM_redirectLoginSuccess );
      }
      else {
        header("Location: ". $MM_redirectLoginFailed );
      }
    }
    ?>

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Par défaut
    Slt
    en ajoutant ceci une fois la vérification faite du membre dans la base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $donnee_base = mysql_fetch_array($LoginRS)
     
    $_SESSION['id_membre']=$donnee_base[CHAMP_ID];
    Mais moi je ne ferais ceci
    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
     
    // vérifier si login et mot de passe rempli
    if(!empty($_POST['login']) and !empty($_POST['passw']) 
      {
      //On vérifie dans la base
      $verification_membre_base = mysql_query("SELECT login, passw, idmembre FROM 7775fea2 where WHERE login='$_POST[login]' AND passw='$_POST[passw]' "); 
     //On compte le nombre d'entrée
     $verificationmembrebase=(mysql_num_rows($verification_membre_base));
     
      if ($verificationmembrebase =='1'){
      //ok membre trouvéon affecte une session idmembre pour utilisation ultérieur
      $donnee_base = mysql_fetch_array($verification_membre_base)
      session_register('idmembre');
      $_SESSION['id_membre']=$donnee_base[idmembre];
     
    header("Location: Dall.php" );
     
      }
      else if ($verificationmembrebase =='0'){
      {
      //erreur mot de ^passe ou login 
       header("Location: ec-.php" );
      }
      else
      {
     
       //plus d'une entrée trouvé
       header("Location: ec-.php" );
     
      }
     
     
      }

Discussions similaires

  1. [Tomcat]échange de session entre php et java
    Par benwa dans le forum Tomcat et TomEE
    Réponses: 18
    Dernier message: 05/06/2007, 17h01
  2. [MySQL] Formulaire php + bdd = perte des sauts de ligne html ?
    Par sunshine33 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/10/2005, 11h19
  3. Réponses: 5
    Dernier message: 19/09/2005, 11h46
  4. Utilisation de [Session] et de [BDD]
    Par Alexr dans le forum JDBC
    Réponses: 1
    Dernier message: 21/06/2005, 14h09
  5. information php/BDD
    Par Burinho dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 26/02/2005, 23h00

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