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 :

Identification par mot de passe


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut Identification par mot de passe
    Bonjour à tous,

    Je viens de créer un site web.
    J'ai réussi à créer un formulaire d'inscription qui renvoie les informations dans une table sur phpmyadmin.

    Maintenant j'aurai voulu créer une page de connexion (pseudo & mot de passe) afin que la personne inscrite puisse accéder à des pages "privée".

    Je suis un peu perdu, si quelqu'un pouvait essayer de m'orienter...


    Merci d'avance,

    Richard

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if(!isset($_POST["ton_bouton_submit"])){
     //affiche ton formulaire
    }
    else
    {
     //test log/psw
     if($_POST["log"]!="un log" || $_POST["psw"]!="mot de passe"){
      echo 'Mauvais mot de passe';
     }
     else{
      //ton code protege
     }
    }
    bon, c'est dans les grandes lignes, et pour une seule page. en effet, si tu voudrais proteger plusieurs pages, je te conseillerais les sessions.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(!isset($_SESSION["admin"]){
     echo 'Page protegee.';
    }
    else {
     echo 'ta page protegee.'
    }
    voila, en esperant t'avoir aide.
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    Je pense que ce serait plutôt pour une session, car plusieurs pages...

    Pourrais tu m'expliquer un peu plus sur système de session, ou peut-etre qu'il existe un tuto?

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    heu, a cette heure je vais pas te faire un tuto. mais en cherchant vite fait le web
    dev.com/cours/sessions/

    a noter le <?php session_start();?> a placer avant tout code (même html)
    et le nom des variables de session : $_SESSION["ta_variable"]

    désolé si c'est pas très clair, mais j'ai voulu quand même t'oriente avant d'aller me coucher (pour que tu puisses t'y mettre tout de suite si t'as rien a faire de ta nuit )
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    Merci c'est sympa, je vais y réfléchir encore un peu!
    Merci à tout cas!

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    D'après les tuto que j'ai lu, les sessions sont surtout utiles pour des informations sur le visiteur.

    Moi je voudrais juste que deux pages de mon site soient accessible seulement si les visiteurs se sont inscrit avant...

    Est-ce bien là l'utilité de la session?

  7. #7
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    salut,
    bah oui, les sessions sont utiles cela permet de te balader avec des infos partout dans ton site sans faire d'includes, de requetes ni rien.
    après, lors l'inscription du visiteur, tu ajoutes une variable de session "admin" (par exemple)
    si tu voudrais proteger plusieurs pages, je te conseillerais les sessions.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(!isset($_SESSION["admin"]){
     echo 'Page protegee.';
    }
    else {
     echo 'ta page protegee.'
    }
    et si par la suite, tu souhaites proteger d'autres page, un simple if fera l'affaire
    (les sessions, une fois que t'y as goute, tu peux plus t'en passer )
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    Je vais réfléchir, mais les tuto sont très compliqué, on parle cookie, de suppression de session...

    Pourtant les codes que tu me donnes sembles faciles...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    Bonsoir,

    Voilà j'ai combattu pour essayer de créer des sessions...
    Mais je crois que les sessions ont été plus forte que moi...

    Est ce que quelqu'un pourrais me faire un "diagnostique" de mon site...

    http://www.akengro.t1hosting.co.uk/i...goz_index.html

    Le pseudo et mot de passe pour la connexion est rickgoz (pseudo) rickgoz (mdp)

    (car pour le moment je ne l'ai pas relié à la base de donnée des inscrits...)

    Merci pour tout ceux qui m'aideront...

    Richard,

  10. #10
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    un diagnostique... bah a vue de nez il est zoli =)
    pour ce qui est de ta page connexion, ca a l'air d'aller (le code derriere j'en sais rien)
    mais pour l'inscription, ca merdouille =)
    the right syntax to use near 'sais pas xD,'fake@fake.fake','dem')' at line 1
    a partir du champ "batiment dans le domaine" tu t'es decale dans les quotes apparament :
    'sais pas xD,' t'as oublie une quote avant la virgule (visiblement)

    ps : je sais pas tres bien ce que tu entends par "diagnostiquer ton site", mais je dirais (je peux me tromper) que l'on est la pour aider, pas pour juger :/

    sinon, dans ta page "services" tu devrais ajouter un lien vers "connexion tout de suite" (pour les gens deja inscrits ^^)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    Merci pour ton aide.

    Je comprend pas où l'inscription merdouille.

    Tu veux que dire qu'on peu rentrer n'importe quoi dans le adresse mail? c'est ça? Il est possible de déclarer un "type" adresse mail (XX@YYY.ZZZ)?

    Et bâtiment dans le domaine c'est seulement deux chiffres au maximum, c'est peut-être pour ça.. non?
    D'ailleurs comment faire pour que lorsque la personne saisis 3chiffres il s'affiche une erreur via un echo, et non une erreur SQL pas très accueillante...

    Je met en PJ le fichier inscription...

    Aussi, tu as remarqué que tu peux taper seulement rickgoz rickgoz, et non le pseudo et mot de passe du formulaire, je n'arrive pas à le relier avec la BBD des inscrits...Si tu as une idée..

    Merci pour ton aide en tout cas, car le php c'est vraiment pas évident...
    Fichiers attachés Fichiers attachés

  12. #12
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    salut,
    pour eviter les erreurs lors de la creation de la requete sql, tu peux deja restreindre les champs avec "maxlength"
    <INPUT type="text" name="osef" value="" maxlength="15" />
    dans ce cas, l'utilisateur ne pourra rentrer que 15 caracteres (je penses a ton code batiment maxlength="2")
    tu peux taper seulement rickgoz rickgoz, et non le pseudo et mot de passe du formulaire
    en piece jointe ton code modifie
    Pièce jointe 39166
    j'esperes que cela t'aidera
    GL & HF =)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    Merci cela fonctionne, c'est très sympa!

    Juste quelque chose que je ne comprend pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if($row["password"]!=$_POST["password"])
    	{
    	// si erreur dans le formulaire alors
    	echo '<p style="color:#FF0000; font-weight:bold;">Erreur de connexion.</p>';
    	}
    	else
    	{
    	$_SESSION['pseudo'] = "rickgoz";
    	$_SESSION['password'] = "rickgoz";
    	echo '<a href="rickgoz_index_privee.html" title="Accueil de la section membre"> <br> Accueil des membres du Domaine de picardie</a>';
     
    	}
    C'est les $_SESSION dans le else, elles ne servent plus à rien n'est ce pas?

  14. #14
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    Bah la effectivement, les sessions sont inutiles...
    A part si tu modifie ton code
    parceque, avec ce que je t'ai donne, l'utilisateur devra a chaque fois entrer son log/psw pour acceder a la page protegee.
    Avec les sessions ca donnerais quelque chose comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    session_start();
    blabla
    if(!isset($_SESSION["une_var"])){
    //ton formulaire pour se connecter et tout
    }
    else{
    //ta page protegee
    }
    Apres, c'est a toi de voire comment tu t'organises.
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    c'est beaucoup plus compliqué avec les sessions?
    Parceque effectivement c'est pas très pratique de mettre son loggin à chaque fois. De plus la personne peut prendre l'url "protégé" et le mettre directement..

  16. #16
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    bon, j'ai essaye de faire quelque chose de simple.
    Pièce jointe 39176
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    Bonsoir,

    Je "réouvre" juste cette discussion car je viens de rencontrer un problème lors de l'identification sur mon site web.

    En effet, pour accéder au site "des membres" je dois me connecter (sachant que je me suis inscrit au préalable) cependant je viens de me rendre compte que si je ne rentre rien dans le formulaire de connexion (login + mdp), alors je peux quand même accéder au site "prive"!

    Voici mon code php.
    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
    <?php
    mysql_connect 
    mysql_select_db
    $result=mysql_query("SELECT password FROM rickgoz_inscrit WHERE pseudoId='".$_POST["pseudo"]."' ") or die ("Probleme lors de l'execution de la requete.");
    $row=mysql_fetch_array($result);
     
    if(strcmp($row["password"],$_POST["password"]))
      {
    echo "Le pseudo et/ou le mot de passe ne correspondent pas";
      }
    else
      {
    echo "Merci nous vous enverrons un mail de confirmation";
    mysql_query(...)
      }
    Si quelqu'un a une idée je le remercie d'avance!

    Bonne soirée à tous!

  18. #18
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Quel est le résultat du echo à l'affichage ?
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 163
    Points : 49
    Points
    49
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "Merci nous vous enverrons un mail de confirmation";
    En gros cela fonctionne sans rentrer de pseudo ni de mot de passe.
    Par contre si je rentre des données erronées alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "Le pseudo et/ou le mot de passe ne correspondent pas";

  20. #20
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!strcmp($row["password"],$_POST["password"]))
    je pense.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

Discussions similaires

  1. Identification par mot de passe aléatoire
    Par Rony Rauzduel dans le forum Langage
    Réponses: 2
    Dernier message: 28/08/2010, 10h32
  2. jsp et identification par mot de passe
    Par rabeb dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/06/2007, 09h24
  3. Identification par mot de passe
    Par Sheva7 dans le forum Sécurité
    Réponses: 3
    Dernier message: 12/06/2006, 10h16
  4. Acces au reseau proteger par mot de passe
    Par soumia dans le forum Bases de données
    Réponses: 13
    Dernier message: 19/11/2003, 14h39
  5. probleme identification et mot de passe root
    Par freums dans le forum Débuter
    Réponses: 5
    Dernier message: 19/09/2003, 17h09

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