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 :

Formulaire pour valider mot de passe


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut Formulaire pour valider mot de passe
    je vais esséyer d'expliquer mon projet:
    c'est un site pour les étudiants et les enseignants chaque utilisateur est inscrit (l'inscription est réglé ils sont inscrit dans une base avec 3 tables : identification et étudiant et enseignant )
    maintenant je dois faire un formulaire avec un pseudo et mot de passe quand utilisateur rentre il fait entré son pseudo et son mot de passe
    alors le code doit valider le pseudo et le mot de passe et doit aussi vérifier la catégorie (soit un étudiant ou enseignant) cette catégorie est définit lors de l'inscription dans la table identification.
    si catégorie=étudiant il sera amener a la page étudiant.php
    si catégorie=enseignant amener a la page enseignant.php
    j'esper que je me suis bien expliqué
    je sais c tro long mais j'ai besoin d'aide je suis bloqué
    aider moi
    je signal je suis débutante en php

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 201
    Points : 8 426
    Points
    8 426
    Billets dans le blog
    17
    Par défaut
    avec 3 tables : identification et étudiant et enseignant
    Qu-est-ce qui justifie ces 3 tables ?

    j'esper que je me suis bien expliqué
    je sais c tro long mais j'ai besoin d'aide je suis bloqué
    J'ai très bien compris le projet, par contre tu ne nous dis pas ce qui te bloque justement.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    merci seb
    mon probleme que je suis une grande débutante en php et je trouve sa trop compliqué,je n'arrive pas a trouver le code et comment amener l'etudiant a sa proper page "etudiant.php" et l'enseignant a "enseignant.php"
    pour les 3 table :
    j'ai crée une base de donnée qui contient 3 table 'identification' 'étudiant' 'enseignant' et dans la table identification il y a les champs(mot de passe,pseudo,catégorie,...)
    je veu dire par catégorie (enseignant ou étudiant)

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 201
    Points : 8 426
    Points
    8 426
    Billets dans le blog
    17
    Par défaut
    Je ne vois rien dans ton explication justifiant 3 tables.
    Pour commencer simplifions l'organisation de tes données, veux-tu ? Des données organisées simplement et efficacement permettent un programme simple, tu as tout à y gagner
    A ta place je ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    table personnes
    ----------------
    id                # Identifiant unique, clef primaire
    nom
    motdepasse
    categorie
    Exemple de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    id  nom           motdepasse        categorie
    1   M. Martin     vivelesmaths      enseignant
    2   Mlle Renée    césarjetm         enseignant
    3   Laurent       lolo              étudiant
    4   Elise         lili              étudiant
    Es-tu OK pour ça déjà ?

  5. #5
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    merci merci merci seb
    pour la base de données,j'ai pas de problème
    j'ai crée ma base et j'ai fait une page d'inscription c'est a dire chaque utilisateur doit s'inscrire dabor alor les données qui fait entré seron dans la base tout sa marche bien
    maintenant je suis passé a 2em étape
    apres son inscription il va commencé a travaillé(par exemple)
    alors j'ai fai une page avec html
    pseudo :
    mot de passe :
    et la je suis bloqué:
    1- je n'arrive pas a trouvé le code php qui me valide le pseudo et le mot de passe
    2-j'ai 2 catégorie 'etud','enseign' chacun est dériger ver 2 pages differente 'etudiant.php' et 'enseignant.php'
    c'est trop compliqué

  6. #6
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    je te montre seb qesque g fai pr l'instant.peut etre tu va pouvoir m'aidé :
    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
     
    if (isset($_POST['pseudo']))
       {     
              $pseudo= (isset($_POST['pseudo']));
    	       $mot_de_passe= (isset($_POST['mot_de_passe']));
    		if (isset($pseudo,$mot_de_passe))  
    		{				 
               echo"connexion a mysql";
    	       $db="projet";
    	       $connexion=mysql_connect("localhost", "root") or die("connexion impossible");
    	        echo "connexion réussie"; echo "\n\n";
    	         mysql_select_db($db,$connexion) or die("selection de la base de données impossible");
    	        echo "choix de la base réussie";
    			$nm = mysql real escape string($pseudo);
    			$pass = mysql real escape string($mot_de_passe);
    			$sql = "SELECT mot_de_passe, pseudo FROM identification WHERE mot_de_passe = '".$pass."' AND pseudo = '".$nm."'";
    		    $req = mysql_query($sql,$connexion) or die("selection impossible : $sql".mysql_error());
    			//création du tableau associatif du résultat
    			$reslt = mysql fetch assoc($req);
    j'ai vraiment besoin d'aide

  7. #7
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 201
    Points : 8 426
    Points
    8 426
    Billets dans le blog
    17
    Par défaut
    Tu es plus avancé que je ne pensais
    Tu peux simplifier ton script avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if (isset($_POST['pseudo'], $_POST['mot_de_passe']))
    {     
        echo"connexion a mysql<br>";
        $connexion=mysql_connect("localhost", "root") or die("connexion impossible");
        echo "connexion réussie<br>";
        mysql_select_db('projet',$connexion) or die("selection de la base de données impossible");
        echo "choix de la base réussie<br>";
        $pseudo = mysql real escape string($_POST['pseudo']);
        $mot_de_passe = mysql real escape string($_POST['mot_de_passe']);
        $sql = "SELECT mot_de_passe, pseudo FROM identification WHERE mot_de_passe = '$mot_de_passe' AND pseudo = '$pseudo'";
        echo "Soumission de la requête $sql<br>" ;
        $req = mysql_query($sql,$connexion) or die("selection impossible : $sql".mysql_error());
        //création du tableau associatif du résultat
        $reslt = mysql fetch assoc($req);
    Arrivé à ce stade $reslt contiendra soit un tableau de données de l'enregistrement récupéré, soit FALSE si aucun enregistrement ne correspond à la saisie ( http://fr.php.net/mysql-fetch-assoc ).
    Fait un print_r($reslt) pour y voir plus clair ( http://fr.php.net/print-r ).

  8. #8
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    quand je récupere la valeur de $reslt je vérifie si le mot de passe et les pseudo sont juste(c'est a dire le membre est déja inscrit)
    mais apré sa je vérifie la catégorie avec un select aussi
    si la catégirie=ensegn ou catégorie=etud la je suis bloqué je pas sais avec quoi je ouvrir les page "etudiant.php" ou"enseign.php"
    c'est a dire :
    si mot de passe correct et pseudo correct aussi et catégorie =etudiant
    comment je fait pour emmener cette utilisateur a la page "etudiant.php"
    et je te remercie encore c'est vraiment genti de ta part

  9. #9
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 201
    Points : 8 426
    Points
    8 426
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par info3licen Voir le message
    quand je récupere la valeur de $reslt je vérifie si le mot de passe et les pseudo sont juste(c'est a dire le membre est déja inscrit)
    Ils le sont si $reslt est différent de FALSE.

    mais apré sa je vérifie la catégorie avec un select aussi
    D'où l'intérêt de n'avoir qu'une table, tu le saurais déjà avec une seule requête.

    si la catégirie=ensegn ou catégorie=etud la je suis bloqué je pas sais avec quoi je ouvrir les page "etudiant.php" ou"enseign.php"
    Pour la redirection il faut utiliser header( ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ( $catégorie == 'étudiant' ) {
        header('Location: etudiant.php') ;
        exit( ) ;
    } elseif ( $catégorie == 'enseignant' ) {
        header('Location: enseignant.php') ;
        exit( ) ;
    } else {
        echo 'Erreur, catégorie indéterminée !' ;
    }
    Doc : http://fr.php.net/header

  10. #10
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    un grand merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
    depuis 11h du matin que je cherche
    mais vous étiez ou? je rigole
    merci beaucoup je vais ésseyé avec sa et si j'aurais de probleme je serai de retour
    thank you
    a+

  11. #11
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    désolé seb;
    je n'arrive pas a travaillé avec :mysql_fetch_assoc($req);
    c a dire quand l'enregistrement récupéré est placé ds ce tableau,donc je ne vérifie pas si le mot de passe est correcte et comment je recuper le resultat de ce tableau

  12. #12
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 201
    Points : 8 426
    Points
    8 426
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par info3licen Voir le message
    je n'arrive pas a travaillé avec :mysql_fetch_assoc($req);
    c a dire quand l'enregistrement récupéré est placé ds ce tableau,donc je ne vérifie pas si le mot de passe est correcte
    Le mot de passe est forcément correct si $reslt est différent de FALSE puisque tu fais un test dans le WHERE de ta requête SQL.

    et comment je recuper le resultat de ce tableau
    Tu l'as déjà récupéré en faisant $reslt = mysql_fetch_assoc($req), ensuite il faut l'exploiter.

  13. #13
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    comment je récupéré le résultat je veux dire comment j'obtient la variable $catégorie

  14. #14
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    je viens d'esseyé il me renvoi une erreur :
    la variable $catégorit n'est pas définit

  15. #15
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 201
    Points : 8 426
    Points
    8 426
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par info3licen Voir le message
    comment je récupéré le résultat je veux dire comment j'obtient la variable $catégorie
    Je ne sais pas. Tout dépend de tes tables et de ton script. Le but est de stocker dans $categorie la catégorie de la personne se connectant afin de le rediriger sur la page apropriée.

  16. #16
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    ok merci seb
    mais je n'arrive pas a trouvé la solution

  17. #17
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 201
    Points : 8 426
    Points
    8 426
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par info3licen Voir le message
    ok merci seb
    mais je n'arrive pas a trouvé la solution
    Montre la partie de ton script posant pb.

  18. #18
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    merci seb c bon c réglé g trouvé la solution
    désolé pr dérangement
    ++

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

Discussions similaires

  1. [AC-2003] Formulaire pour changer mot de passe
    Par Feuztoff dans le forum Access
    Réponses: 0
    Dernier message: 17/04/2014, 20h56
  2. [AC-2003] Formulaire pour changer mot de passe
    Par Feuztoff dans le forum IHM
    Réponses: 4
    Dernier message: 28/02/2014, 17h39
  3. Formulaire: contrôle utilisateur/mot de passe
    Par kh-san dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 22/08/2007, 23h27
  4. Formulaire de reset mot de passe et CAPTCHA
    Par kh-san dans le forum Langage
    Réponses: 2
    Dernier message: 20/08/2007, 21h46
  5. Réponses: 5
    Dernier message: 18/03/2007, 10h16

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