Maison  >  Article  >  développement back-end  >  Comment implémenter la fonction de changement du mot de passe de connexion en php ? (exemple de code)

Comment implémenter la fonction de changement du mot de passe de connexion en php ? (exemple de code)

PHPz
PHPzoriginal
2023-04-03 14:40:311472parcourir

Dans le développement de sites Web, le système de compte utilisateur est un élément essentiel et la sécurité en est l'un des éléments essentiels. Afin d'assurer la sécurité des comptes des utilisateurs, il est indispensable de prévoir la fonction de modification des mots de passe de connexion. L'implémentation de cette fonction nécessite d'écrire du code. Voyons comment écrire du code PHP pour modifier le mot de passe de connexion.

Tout d'abord, nous devons créer un formulaire de changement de mot de passe pour fournir aux utilisateurs une interface exploitable. Ici, nous utilisons du code HTML simple :

<form action="modifypwd.php" method="post">
    旧密码:<input type="password" name="oldpwd"><br>
    新密码:<input type="password" name="newpwd"><br>
    确认新密码:<input type="password" name="newpwd2"><br>
    <input type="submit" name="submit" value="提交">
</form>

La méthode POST est utilisée dans le formulaire et soumise au fichier modifierpwd.php pour traitement. Le formulaire comprend des zones de saisie pour saisir l'ancien mot de passe, le nouveau mot de passe et la confirmation du mot de passe. Les types de toutes les zones de saisie sont des types de mot de passe et le contenu saisi par l'utilisateur ne sera pas affiché.

Ensuite, nous commençons à écrire du code PHP pour traiter les données du formulaire soumises par l'utilisateur. Dans le fichier modifierpwd.php, nous pouvons utiliser le code suivant pour obtenir les données du formulaire :

$oldpwd = $_POST['oldpwd'];
$newpwd = $_POST['newpwd'];
$newpwd2 = $_POST['newpwd2'];

Le code ci-dessus obtient l'ancien mot de passe, le nouveau mot de passe et le mot de passe de confirmation saisis par l'utilisateur dans le formulaire via la variable $_POST. À l’heure actuelle, nous devons effectuer certains contrôles de légalité des données pour garantir l’exactitude et la sécurité des données saisies par l’utilisateur. Par exemple, déterminez si le nouveau mot de passe saisi par l'utilisateur est cohérent avec le mot de passe confirmé :

if ($newpwd !== $newpwd2) {
    echo '两次输入的新密码不一致';
    exit;
}

Ensuite, nous devons obtenir l'ancien mot de passe de l'utilisateur de la base de données et vérifier si l'ancien mot de passe est correct. On suppose ici que nous avons stocké les informations de compte et de mot de passe de l'utilisateur dans la table user, et que le mot de passe est stocké à l'aide du cryptage MD5. Vous pouvez utiliser le code suivant pour juger :

$oldpwd_md5 = md5($oldpwd);
$sql = "SELECT pwd FROM user WHERE username='xxx' and pwd='$oldpwd_md5'";
$result = mysqli_query($conn, $sql);
if (!$result || mysqli_num_rows($result) !== 1) {
    echo '旧密码输入错误';
    exit;
}

Parmi eux, nous utilisons la fonction md5() pour crypter MD5 l'ancien mot de passe saisi par l'utilisateur, puis obtenir les informations de mot de passe de l'utilisateur de la base de données pour déterminer s'il est cohérent avec le mot de passe saisi. Ici, xxx représente le nom d'utilisateur.

Enfin, s'il n'y a aucun problème avec les données saisies par l'utilisateur, nous devons crypter et stocker le nouveau mot de passe dans la base de données :

$newpwd_md5 = md5($newpwd);
$sql = "UPDATE user SET pwd='$newpwd_md5' WHERE username='xxx'";
if (!mysqli_query($conn, $sql)) {
    echo '密码修改失败';
    exit;
}
echo '密码修改成功';

L'instruction update est utilisée pour crypter le nouveau mot de passe de l'utilisateur et le mettre à jour dans la base de données . À ce stade, le processus de modification du mot de passe est terminé.

Pour résumer, ce qui précède est le code PHP pour changer le mot de passe de connexion. Lors de l'écriture de telles fonctions, vous devez faire attention à la sécurité des données. Nous pouvons garantir la sécurité des données utilisateur grâce au cryptage, à la vérification des données et à d'autres moyens. Parallèlement, pour les opérations modifiant la base de données, un traitement transactionnel est nécessaire pour garantir l'intégrité et la cohérence des opérations.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn