Mots de passe php
roland999
Messages postés
35
Statut
Membre
-
[Dal] Messages postés 6373 Statut Contributeur -
[Dal] Messages postés 6373 Statut Contributeur -
salut voici mon code php
et je veux ajouter qu'il faut un minimum de 6 caractere pour que le mots de passe soit valider aider moi
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['nom']) && !empty($_POST['nom'])) && (isset($_POST['prenoms']) && !empty($_POST['prenoms'])) && (isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = htmlentities('Les 2 mots de passe sont différents.');
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('gestiondecheque', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM utilisateur WHERE login="'.mysql_real_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO utilisateur VALUES("","'.$_POST['nom'].'","'.$_POST['prenoms'].'","'.mysql_real_escape_string($_POST['login']).'", "'.mysql_real_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: index.php');
exit();
}
else {
$erreur = htmlentities('Un membre possède déjà ce login.');
}
}
}
else {
$erreur = htmlentities('Vous avez oublié de remplir tout les champs.');
}
}
?>
et je veux ajouter qu'il faut un minimum de 6 caractere pour que le mots de passe soit valider aider moi
A voir également:
- Mots de passe php
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
2 réponses
Salut,
si tu veux avoir de l'aide, il vaudrait mieux que tu penses à utiliser les balises de code qui vont rendre ton code plus lisible...
Mis à part ça, quel est le soucis ? La fonction strlen compte le nombre de caractère d'une chaine, c'est une des premières fonctions qu'on apprend quand on débute le php.
si tu veux avoir de l'aide, il vaudrait mieux que tu penses à utiliser les balises de code qui vont rendre ton code plus lisible...
Mis à part ça, quel est le soucis ? La fonction strlen compte le nombre de caractère d'une chaine, c'est une des premières fonctions qu'on apprend quand on débute le php.
oui je le sais mais comment l integrer a mon code c'est ce que je demande
Es-tu sûr que c'est "ton code" pour poser une question pareille.
Tu crées une nouvelle condition à l'exécution de ton code présent dans les accolades internes qui traitent les données validées.
Un
Autrement, tu peux pousser un peu plus la validation, tu pourrais vérifier que le mot de passe comporte :
- de 6 à 25 caractères (ou une autre limite)
- une lettre minuscule au moins
- une lettre majuscule au moins
- un chiffre au moins
Tu peux alors faire comme cela :
Si cela ne te plait pas met ton strlen à la place du preg_match.
Dal
Tu crées une nouvelle condition à l'exécution de ton code présent dans les accolades internes qui traitent les données validées.
Un
if (strlen($_POST['pass']) > 5)devrait suffire.
Autrement, tu peux pousser un peu plus la validation, tu pourrais vérifier que le mot de passe comporte :
- de 6 à 25 caractères (ou une autre limite)
- une lettre minuscule au moins
- une lettre majuscule au moins
- un chiffre au moins
Tu peux alors faire comme cela :
// code en lignes 1 à 10
if (preg_match(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,25}$/, $_POST['pass'])) {
// code en lignes 11 à 30
} else {
$erreur = htmlentities('Le mot de passe doit comporter de 5 à 25 caractères, au moins une majuscule et une minuscule, et au moins un chiffre.');
}
// code en lignes 31 à 37
Si cela ne te plait pas met ton strlen à la place du preg_match.
Dal