Webサイト開発においては、ユーザーアカウントのセキュリティを確保するために、ログインパスワードを変更する機能を提供することが必要になる場合があります。この記事では、開発者がこの機能を実装するのに役立つ、PHP で書かれたログイン パスワード変更コードを紹介します。
まず、ユーザーがログインするためにユーザー名とパスワードを入力するログイン ページが必要です。ログインに成功すると、パスワード変更ボタンが表示されるので、ボタンをクリックするとパスワード変更ページにジャンプします。
以下はログイン ページのコードです:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登录页面</title> </head> <body> <h1>登录页面</h1> <form action="login.php" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username" required> <br> <label for="password">密码:</label> <input type="password" id="password" name="password" required> <br> <input type="submit" value="登录"> </form> </body> </html>
このページでは、フォームを通じてユーザー名とパスワードをlogin.phpという名前のPHPファイルに渡し、ユーザーのログインを決定します。 . .
以下は、login.php ファイルのコードです:
<?php session_start(); if (isset($_POST['username']) && isset($_POST['password'])) { $username = $_POST['username']; $password = $_POST['password']; // 连接数据库,判断用户名和密码是否正确 $conn = mysqli_connect('localhost', 'root', 'password', 'my_db'); if (!$conn) { die('连接数据库失败!'); } $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) == 1) { $_SESSION['username'] = $username; header('Location: changepassword.php'); } else { echo '用户名或密码错误!'; } mysqli_close($conn); } ?>
このファイルでは、最初にセッションを有効にし、次にユーザー名とパスワードが渡されるかどうかを判断します。その場合、データベースに接続し、ユーザー名とパスワードが正しいかどうかを確認します。正しい場合は、ユーザー名をセッションに保存し、パスワード変更ページchangepassword.phpにジャンプします。それ以外の場合は、ユーザー名またはパスワードが間違っていることをユーザーに通知します。
次に、ログインパスワードを変更する機能を実装するために、changepassword.php ファイルを記述します。コードは次のとおりです。
<?php session_start(); if (!isset($_SESSION['username'])) { header('Location: login.php'); exit(); } if (isset($_POST['oldPassword']) && isset($_POST['newPassword'])) { $username = $_SESSION['username']; $oldPassword = $_POST['oldPassword']; $newPassword = $_POST['newPassword']; // 连接数据库,修改密码 $conn = mysqli_connect('localhost', 'root', 'password', 'my_db'); if (!$conn) { die('连接数据库失败!'); } $sql = "UPDATE users SET password='$newPassword' WHERE username='$username' AND password='$oldPassword'"; $result = mysqli_query($conn, $sql); if ($result) { echo '密码修改成功!'; } else { echo '密码修改失败!'; } mysqli_close($conn); } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>修改密码页面</title> </head> <body> <h1>修改密码页面</h1> <form action="changepassword.php" method="post"> <label for="oldPassword">旧密码:</label> <input type="password" id="oldPassword" name="oldPassword" required> <br> <label for="newPassword">新密码:</label> <input type="password" id="newPassword" name="newPassword" required> <br> <input type="submit" value="修改密码"> </form> </body> </html>
このファイルでは、まずユーザーがログインしているかどうかを判断し、ログインしていない場合はログイン ページに戻ります。次に、ユーザーがパスワードを変更するためのフォームを送信したかどうかを確認し、送信した場合は、セッションからユーザー名、古いパスワード、新しいパスワードを取得し、データベースに接続し、パスワード変更操作を実行し、最後にユーザーにパスワード変更するかどうかを尋ねます。操作が成功したか失敗したか。
上記は PHP で記述されたログイン パスワード変更コードです。このコードにより、ユーザーはログイン後にパスワードを変更でき、アカウントのセキュリティが向上します。もちろん、実際の開発では、ユーザーのパスワードの暗号化やデータベースの読み取り/書き込み権限の制限など、いくつかのセキュリティ問題を考慮する必要があります。
以上がPHPログインパスワード変更コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。