インターネット技術の継続的な発展に伴い、私たちはさまざまなアプリケーションをますます使用するようになり、これらのアプリケーションではプライバシーとセキュリティを保護するためにログイン アカウントが必要になります。これらのアプリケーションの場合、パスワードの変更は、私たちが通常実行する最も一般的な操作の 1 つです。このプロセスでは、通常、実装に php と ajax を使用することを選択します。次に、PHP ajax パスワード変更を実装する方法を段階的に学びましょう。
1. フロントエンド ページの設計
まず、パスワードを変更する機能を提供するフロントエンド ページを設計する必要があります。このフロントエンド ページでは、現在のパスワード、新しいパスワード、新しいパスワードの確認などの情報を入力する必要があるため、フォームが必要です。フォームは処理のためにバックグラウンドに送信する必要があるため、フォームを送信するには「送信」ボタンなどのボタンも使用する必要があります。
2. PHP バックグラウンド処理
次に、このフォームを処理するために PHP バックグラウンドを使用する必要があります。最初に注意すべきことは、フロントエンド ページが PHP バックエンドに POST リクエストを送信して、フォームをバックエンドに送信する必要があるということです。渡されたフォーム データを PHP で受け取るには、$_POST 配列を使用する必要があります。
$old_password = $_POST['old_password']; $new_password = $_POST['new_password']; $confirm_password = $_POST['confirm_password'];
次に、いくつかのビジネス ロジック処理を実行する必要があります。まず、現在のパスワードが正しいかどうかを確認する必要があります。
if (!password_verify($old_password, $user['password'])) { echo '当前密码错误,请重新输入。'; exit; }
ここでは、password_verify() 関数を使用して、現在のパスワードが正しいかどうかを確認します。現在のパスワードが間違って入力された場合、ページはユーザーにパスワードの再入力を求める必要があります。
次に、2 回入力した新しいパスワードが一致しているかどうかを確認する必要があります。
if ($new_password !== $confirm_password) { echo '两次输入的新密码不一致,请重新输入。'; exit; }
2 回入力した新しいパスワードが一致しない場合は、ユーザーに再入力を求めるプロンプトが表示される必要があります。
セキュリティ上の理由から、ユーザーのパスワードを保存するにはパスワード ハッシュを使用する必要があることに注意してください。ここでは、password_hash() 関数を使用して新しいパスワードをハッシュします:
$password_hashed = password_hash($new_password, PASSWORD_DEFAULT);
最後に、SQL ステートメントを使用してデータベース更新操作を実行します:
$sql = "UPDATE users SET password = :password WHERE id = :id"; $stmt = $db->prepare($sql); $stmt->bindParam(':password', $password_hashed, PDO::PARAM_STR); $stmt->bindParam(':id', $user['id'], PDO::PARAM_INT); $stmt->execute();
上記の操作が完了すると、ページがユーザーにパスワードの変更を求めるプロンプトが必要です。成功しました。
3. Ajax 非同期送信
最後のステップは、ajax を使用してフロントエンド ページを非同期に送信することです。一般に、非同期コミットは同期コミットよりも優れたユーザー エクスペリエンスを提供します。非同期送信では部分的にのみ更新され、ページ全体が更新されることはありません。ここでは、jquery の $.ajax() メソッドを使用して非同期送信を実装します。
$.ajax({ type: 'POST', url: 'update_password.php', data: $('#form').serialize(), dataType: 'json', success: function (data) { if (data.success) { alert('修改密码成功'); window.location.href = 'index.php'; } else { alert(data.message); } }, error: function () { alert('修改密码失败,请重试!'); } });
上記は、php ajax でパスワードを変更する実装方法です。フロントエンドのページデザイン、PHPのバックグラウンド処理、Ajaxの非同期送信を連携させ、パスワード変更の操作を実現します。
以上がphp ajaxでパスワードを変更する実装方法を段階的に理解します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。