Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/12/2011, 11h04   #1
Invité régulier
 
Inscription : juillet 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 58
Points : 9
Points : 9
Par défaut Taille minimale d'un mot de passe

Bonjour,
Je cherche un moyen pour contraindre la taille minimale d'un mot de passe, je n'arrive pas à modifier mon code dans ce sens là. Je ne sais pas comment ajouter cette condition.
Le problème a certainement déjà été soulevé, je n'ai rien trouvé qui me permettait de solutionner mon problème.

Code :
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
    <?php
    // teste soumission formulaire de connexion
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
       if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 
 
          $base = mysql_connect ('localhost', 'root', ''); 
          mysql_select_db ('membre', $base); 
 
          // on teste base contient login / pass
          $sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.mysql_escape_string($_POST['pass']).'"'; 
          $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
          $data = mysql_fetch_array($req); 
 
          mysql_free_result($req); 
          mysql_close(); 
 
          // si réponse utilisateur = membre
          if ($data[0] == 1) { 
             session_start(); 
             $_SESSION['login'] = $_POST['login']; 
             header('Location: membre.php'); 
             exit(); 
          } 
          // si pas réponse, visiteur s'est trompé dans login
          elseif ($data[0] == 0) { 
             $erreur = 'Compte non reconnu.'; 
          } 
          // pb base
          else { 
             $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
          } 
       } 
       else { 
          $erreur = 'Au moins un des champs est vide !'; 
       }  
    }  
    ?>
    <html>
    <head>
    <title>Formulaire</title>
	<link href="StylesFormulaireAuthentification.css" rel="stylesheet" type="text/css">
    </head>
 
    <body>
 
<form action="FormulaireAuthentificationPage1.php" method="post">
<fieldset style="border-color:#73aad2;border-size:2px;" width="625">  
<legend class="titre_labelaut">Already identified  :</legend>
<div id="Login" class="TexteLogin">e-mail :<br />
My password: <br />
</div>
 
<div id="Login2"><input name="login" type="text" class="loginRemplissage" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>">
<br />
<input type="password" name="pass" class="loginRemplissage" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion" class="AlignementCreateAccount2">
<p class="TexteFormulaireAut">You forgot your password or username, <a href="GetPassword.php" class="ClickHere"><u>click here</u></a> 
 
 
 
 
<?php 
if (isset($erreur)) echo "<br /><br /><span class=\"TexteLoginCases\">".$erreur."</span>";  ?>
</p>
</div> 
</fieldset>
</form>
 
 
 
 
 
<div id="contour_formulaire">
<form method="post" action="inscription.php">
<fieldset style="border-color:#73aad2;border-size:2px;" width="625">  
<legend class="titre_labelaut">New customer :</legend> 
<input name="submit2" type="submit" class="AlignementCreateAccount" value="I create my account" />
</fieldset>
</form>
</div>  
 
 
</body>
</html>
Merci d'avance pour votre aide
LiliValerie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h10   #2
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Utilise strlen() :

Code :
1
2
3
4
if(strlen($_POST['pass']) >= 10)
    echo 'ok';
else
    echo 'trop court';
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h19   #3
Invité régulier
 
Inscription : juillet 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 58
Points : 9
Points : 9
merci Grunk pour ta réponse.
Je l'ai mis dans le code mais certainement pas comme il faudrait, ça ne marche pas. Est-ce que tu peux m'aider ?
Merci encore

Code :
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 
<?php
    // teste soumission formulaire de connexion
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
       if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 
 
          $base = mysql_connect ('localhost', 'root', ''); 
          mysql_select_db ('membre', $base); 
 
          // on teste base contient login / pass
          $sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.mysql_escape_string($_POST['pass']).'"'; 
          $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
          $data = mysql_fetch_array($req); 
 
          mysql_free_result($req); 
          mysql_close(); 
 
		  // Mot de passe trop court
		  if(strlen($_POST['pass']) >= 10)
    			echo 'ok';
			else
    			echo 'trop court';
 
 
 
          // si réponse utilisateur = membre
          if ($data[0] == 1) { 
             session_start(); 
             $_SESSION['login'] = $_POST['login']; 
             header('Location: membre.php'); 
             exit(); 
          } 
          // si pas réponse, visiteur s'est trompé dans login
          elseif ($data[0] == 0) { 
             $erreur = 'Compte non reconnu.'; 
          } 
          // pb base
          else { 
             $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
          } 
       } 
       else { 
          $erreur = 'Au moins un des champs est vide !'; 
       }  
    }  
    ?>
    <html>
    <head>
    <title>Formulaire</title>
	<link href="StylesFormulaireAuthentification.css" rel="stylesheet" type="text/css">
    </head>
 
    <body>
 
<form action="FormulaireAuthentificationPage1.php" method="post">
<fieldset style="border-color:#73aad2;border-size:2px;" width="625">  
<legend class="titre_labelaut">Already identified  :</legend>
<div id="Login" class="TexteLogin">e-mail :<br />
My password: <br />
</div>
 
<div id="Login2"><input name="login" type="text" class="loginRemplissage" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>">
<br />
<input type="password" name="pass" class="loginRemplissage" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion" class="AlignementCreateAccount2">
<p class="TexteFormulaireAut">You forgot your password or username, <a href="GetPassword.php" class="ClickHere"><u>click here</u></a> 
 
 
 
 
<?php 
if (isset($erreur)) echo "<br /><br /><span class=\"TexteLoginCases\">".$erreur."</span>";  ?>
</p>
</div> 
</fieldset>
</form>
 
 
 
 
 
<div id="contour_formulaire">
<form method="post" action="inscription.php">
<fieldset style="border-color:#73aad2;border-size:2px;" width="625">  
<legend class="titre_labelaut">New customer :</legend> 
<input name="submit2" type="submit" class="AlignementCreateAccount" value="I create my account" />
</fieldset>
</form>
</div>  
 
 
</body>
</html>
LiliValerie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h28   #4
Membre expérimenté
 
Avatar de Torgar
 
Homme Jérémy
Développeur Web
Inscription : août 2007
Messages : 326
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 326
Points : 535
Points : 535
Envoyer un message via MSN à Torgar Envoyer un message via Skype™ à Torgar
Son code n'était qu'à titre d'exemple et devait être adapté à ta structure

Comme par exemple :
Code :
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
<?php
    // teste soumission formulaire de connexion
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
        if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
            if (strlen($_POST['pass']) >= 10) {
                $base = mysql_connect ('localhost', 'root', '');
                mysql_select_db ('membre', $base);
 
                // on teste base contient login / pass
                $sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.mysql_escape_string($_POST['pass']).'"';
                $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                $data = mysql_fetch_array($req);
 
                mysql_free_result($req);
                mysql_close();
 
                // si réponse utilisateur = membre
                if ($data[0] == 1) {
                    session_start();
                    $_SESSION['login'] = $_POST['login'];
                    header('Location: membre.php');
                    exit();
                }
                // si pas réponse, visiteur s'est trompé dans login
                elseif ($data[0] == 0) {
                    $erreur = 'Compte non reconnu.';
                }
                // pb base
                else {
                    $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
                }
            }
            else {
                $erreur = 'Votre mot de passe doit obligatoirement contenir 10 caractères minimum !';
            }
        }
        else {
            $erreur = 'Au moins un des champs est vide !';
        }
?>
__________________
Vivez vos rêves !!!

Si vous voulez que l'on vous aide, postez votre code avec la balise [ CODE ] [ /CODE ] (bouton # de l'éditeur)
Torgar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h29   #5
Invité régulier
 
Inscription : juillet 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 58
Points : 9
Points : 9
C'est bon, ça fonctionne.
En attendant, merci beaucoup pour votre aide
Bonnes fêtes à vous tous
LiliValerie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h36   #6
Membre expérimenté
 
Avatar de Torgar
 
Homme Jérémy
Développeur Web
Inscription : août 2007
Messages : 326
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 326
Points : 535
Points : 535
Envoyer un message via MSN à Torgar Envoyer un message via Skype™ à Torgar
N'oublie pas de marquer en
__________________
Vivez vos rêves !!!

Si vous voulez que l'on vous aide, postez votre code avec la balise [ CODE ] [ /CODE ] (bouton # de l'éditeur)
Torgar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h01.


 
 
 
 
Partenaires

Hébergement Web