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 :

profil d'un membre


Sujet :

PHP & Base de données

  1. #1
    Membre du Club

    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 41
    Points : 47
    Points
    47
    Billets dans le blog
    1
    Par défaut profil d'un membre
    salut ,j'ai utilisée un formulaire de connexion dans ma page d'accueil avec le code php suivant
    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
    <?php
    if(isset($_POST['submit'])){
    mysql_connect("localhost", "root", "");
    mysql_select_db("e-learning");
     
    $mdp = $_POST['pass'];
    $nom = $_POST['nom'];
     
    //$mdp=md5($mdp);
    if($nom&&$mdp){
    	//$mdp=md5($mdp);
    $query=mysql_query("SELECT * FROM enseignant WHERE pseudo_ens='$nom'and mdp_ens='$mdp'");
    $rows=mysql_num_rows($query);
    $quer=mysql_query("SELECT * FROM etudiant WHERE pseudo_etud='$nom'and mdp_etud='$mdp'");
    $rows1=mysql_num_rows($quer);
     
    if($rows==1){
    	header('Location:admin.php');
     
    }
     
     if($rows1==1){
    	header('Location:etud.php');
     }
    else{
    ?>
    <script>  alert("pseudo ou mot de passe incorrect"); </script>
    <?php
    }
    }else echo"saisir votre pseudo et votre mot de passe ";
    }
    ?>
    <body>
    form action="" method="POST" enctype="multipart/form-data">
      <pre style="text-align:left; font:bold 'MS Serif', 'New York', serif; font-size:14px">     
     <b>Nom d'utilisateur :</b><input type="text" placeholder="Nom d'utilisateur" required="" id="username" name="nom"/>    
     <b>Mot de passe      :</b><input type="password" placeholder="Mot de passe" required="" id="password"   name="pass"/>
        <input  style="background-color:#09F;" type="submit" value="Se connecter" name="submit"/>
     </pre>
        </form>
    </body>
    la connexion ca marche trés bien, mais le problème c'est que je veux afficher le profil du membre connecté dans une page en cliquant sur l'element profil du menu de ma page etud.php
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <body>
        <ul id="menu" >  
        <li><a href="#" style="color:#000; text-align:center; icon:"accueil2.png""><b>Accueil</b></a> 
        </li><li><a href="#" style="color:#000; text-align:center;"><b>Cours</b></a>  
         </li><li><a href="#" style="color:#000; text-align:center;"><b>Evaluations</b></a>   
        </li><li><a href="#" style="color:#000; text-align:center;"><b>Membres</b></a>   
        </li><li><a href="#" style="color:#000; text-align:center;"><b>Compte</b></a>  
           <ul id="menu">
           <li><a href><b>Profil</b></a></li>
           </ul>
        </li>  
    </ul></div></body>
    pouviez vous m'aider et merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu voulais nous montrer une compilation de tout ce qu'il ne faut pas faire ?

    1 - Je t'ai deja dit ne pas utilisé htmlspecialchars() comme ça, ça ne rime à rien.
    2 - tu utilises $_POST['pass'] et $_POST['nom'] sans avoir vérifié qu'ils existaient ; pire tu fais une vérification après les avoir utilisé.
    3 - Si c'est un enseignant qui se connecte, tu fais quand même la requête etudiant, ça fait une requête pour rien.
    4 - tu as un echo après un exit(), tu comprends bien qu'il ne sert à rien
    5 - Il y a une connexion à la base de données qui se ballade à la fin du code.
    6 - On termine par le pire : tes pages admin.php et etud.php ne sont pas du tout sécurisées.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club

    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 41
    Points : 47
    Points
    47
    Billets dans le blog
    1
    Par défaut
    la connexion ca marche moi je veux récupérer les information du membre connecté svp aidez moi

  4. #4
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Hello,

    Citation Envoyé par mery gi Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $mdp = $_POST['pass'];
    $nom = $_POST['nom'];
    // ...
    $query=mysql_query("SELECT * FROM enseignant WHERE pseudo_ens='$nom'and mdp_ens='$mdp'");
    $rows=mysql_num_rows($query);
    $quer=mysql_query("SELECT * FROM etudiant WHERE pseudo_etud='$nom'and mdp_etud='$mdp'");
    $rows1=mysql_num_rows($quer);
    Ça sent l'injection sql à plein nez ça.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Un espace membre se concoint généralement en utilisant des sessions PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur PHP
    Inscrit en
    Mai 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 37
    Points : 76
    Points
    76
    Par défaut
    un mot de passe ne se stock pas en clair en base

  7. #7
    Membre du Club

    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 41
    Points : 47
    Points
    47
    Billets dans le blog
    1
    Par défaut
    oui je vais le crypter avec md5 mais maintenant est ce que vous pouviez m'aider pour afficher les information du membre connecté

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour afficher les informations du membre, il faut aller les chercher en base. Tu as donc besoin de savoir quel membre est actuellement connecté.
    En général, on met ce genre d'informations dans une Session. Il te faut donc une session.

    Tu peux lire ce tuto : Authentification d'un espace membre avec PHP. Il est assez vieux, mais pose les bases.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par mery gi Voir le message
    oui je vais le crypter avec md5 mais maintenant est ce que vous pouviez m'aider pour afficher les information du membre connecté
    Juste des petits conseils :
    -N'utilises pas le MD5 mais le SHA1. En effet, il y a des rainbow tables sur le MD5 ce qui le rend beaucoup moins sécurisé que le SHA1.
    -Il faut protéger toutes tes zones de texte avant l'insertion dans ta base de données. Pour cela, il faut utiliser mysql_real_escape_string contre l'injection SQL.
    -Les mots de passe demandent une attention supplémentaires. En plus de les mettre en SHA1, utilise la méthode du grain de sel. Dans ta table, mets le champs qui stocke les mots de passe en varchar(255). Il ne faut pas qu'ils s'insèrent dans la base de données en clairs mais cryptés !

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/04/2007, 17h46

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