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 :

nombre limité d'essais d'authentification !


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut nombre limité d'essais d'authentification !
    Bonjour!
    je suis nouveau dans ce site comme je le suis dans PhP,
    c est pour les raisons du stage que je suis entrain d effectuer que je dois apprndre un peu de php
    j ai commencé realisé ds ptits tps:

    mon exercice est:
    faire une page qui demande un mot de passe; et qui te dirige vers une page ou il aura le code php avec le test qui affichera la bonne page si la condition est vrai sinon une page qui dit de resaisir le mot de passe;

    j ai pu realiser cela, mais le probleme c est que je voudrais faire un nombre d essai (3) qui decremente et qd il arrive a 0 il affiche un message " nombre d essais terminé" par exemple;

    voila le code de la 1ere page:

    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
     
    <html>
    <head>
    <title>test de mot de passe en php</title>
    </head>
    <body>
     
    <form method="post" action="mpasse.php">
    entrez le mot de passe:<br><br>
    <input type="text" name="mot_de_passe" size=10><br><br>
    <input type="submit" value="ok"><br>
    </form>
     
    </body>
    </html>
    et de la 2eme avec le 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?php session_start();
    $_SESSION['c']=4;
    $c=$_SESSION['c'];
    $mp=$_POST['mot_de_passe'];
    ?>
     
    <html>
    <head>
    <title>test de mot de passe en php</title>
    </head>
    <body>
     
    <?php
    if (isset($c)){
    if ($mp=="you"){echo "<b>Bravo! vous avez entrez le mot de passe corret</b>";}
    else {
    ?>
     
    <form action="mpasse.php" method="post">
    <b>le code est incorrect veuillez resaisir le mot de passe!</b><br><br>
    <input type="text" name="mot_de_passe" size=10><br><br>
    <input type="submit" value="ok"><br>
    </form><br><br>
     
     
    <?php
     
     
    $c--;
    echo " il vous reste $c chance sur 3";
    if($c==0){echo " vous avez depassé la limite des tests! bye!";}
     
    }
    }
    ?>
     
    </body>
    </html>
    j ai essayé de travallé sans la Session, dont je comprend pa l utilité, mais ca n a pas marché!, et meme avec la session ca n a pas marché
    si vous m expliquez si la session est obligatoire, et c est koi le code correct que je dois mettre dans ce cas.

    Merci, jattend vos reponse!

  2. #2
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Salut et bienvenue.

    La session est obligatoire dans le sens ou c'est un des moyens pour conserver les données entre les demandes de l'utilisateur. ( On peut également utiliser des fichiers, de la base de données, etc ... )

    Pour ton problème, quand tu dis que cela ne fonctionne pas, tu veux dire que le nombre d'essais ne diminue pas.

    C'est normal, car quand l'utilisateur valide le formulaire tu mets le nombre d'essais à 4 sans te soucier si des essais ont été effectués précédemment.
    Pour vérifier, tu pourrais tester l'existence et la valeur de la variable de session.

    En plus, ce test est complètement inutile ( ou inadéquat ) puisque tu initialise la variable quelques lignes plus haut
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut merci
    merci pour la reponse!

    mais peux tu me clarifier les choses un peu plus,
    si posible me rectifier le code ,ce que j dois ajouter ou que je dois enlever.

  4. #4
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Bonjour,

    Tu peux essayer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //si c'est la premiere fois, on initialise NbClick à 1
    //sinon, on incrémente à chaque fois
    if(isset($_SESSION['NbClick'])){ $_SESSION['NbClick']++;}
     else{$_SESSION['NbClick'] = 1;}
    puis,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //si on arrive à 4 clicks -> on redirige vers une page d'erreur
    if($_SESSION['NbClick'] > 3){ 
    header("Location: http://www.tonsite/tapage_d_erreur.php");
    }

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut merci
    merci
    j ai lu un peu sur ls sessions, et j ai corriger mon code et ca marche mnt, je le posterai un peu plutard

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

Discussions similaires

  1. Nombre d'essais d'authentification php
    Par sihammaster dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 16/05/2012, 18h38
  2. Réponses: 1
    Dernier message: 02/05/2006, 00h56
  3. un nombre limité de feuilles dans un MDI
    Par elasfer dans le forum MFC
    Réponses: 1
    Dernier message: 14/02/2006, 08h43
  4. Somme de nombres limitée
    Par DC dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 29/11/2005, 13h54
  5. select avec un nombre limité de valeurs retournées
    Par felix79 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 23/12/2004, 15h16

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