ユーザー情報を変更するためのPHPデータベース操作
実際のバックグラウンド管理では、管理者は多くのユーザー情報を変更できます。権限が公開されている場合、管理者はユーザーのユーザー名やその他の情報を変更することもできます。
実際の操作では、次のことがよくあります:
変更するユーザーを選択

関連コンテンツを変更

ユーザーリストページを作成するときに、すでに完全に表示されていますユーザーの編集とユーザーの削除の機能をリストに表示する方法。
リストから変更したいユーザーをクリックして選択すると、変更が必要なコンテンツを表示する専用ページが表示されます。上の2枚目の写真でもお見せしました。
しかし、コードを実装するときにユーザー情報をどのように入力するのでしょうか?
edit.php はユーザー情報を表示します
実装プロセス:
1. get にユーザーの ID を渡してユーザー情報を取得します。 SQL ステートメントを使用してユーザー情報をクエリします。
<?php
if (is_numeric($_GET['id'])) {
$id = (int) $_GET['id'];
}
$sql = "select id,username from user where id = " . $id;
$result = mysqli_query($conn, $sql);
$data = mysqli_fetch_assoc($result);
?>2. ユーザーの情報をフォームに割り当てます。ユーザーが送信をクリックすると、update.php のフォーム テーブルでユーザーが変更した値が送信されます。更新時に変更された場所条件でどのユーザーを変更するかを指定する必要があるためです。そこで、入力隠しフォームにユーザーの ID を入力します。 [送信] をクリックすると、非表示の ID も更新ページに渡されます。
通常、ユーザー名は変更できません。したがって、ユーザー名入力フォームの最後に読み取り専用パラメーターを追加し、ユーザー名は変更できないようにしました。
コードは次のとおりです:
<form action="update.php" method="post"> 用户名:<input type="text" name="username" value="<?php echo $data['username'];?>" readonly><br /> 密码:<input type="password" name="password"><br /> <input type="hidden" value="<?php echo $data['id'];?>" name="id" /> <input type="submit" value="提交"> </form>
update.php ユーザーデータを変更します
実際、変更できるのはユーザーのパスワードのみです。 2 つの状況があります:
1. ユーザーがパスワードを変更した
2. ユーザーがパスワードを変更していない
実際、テクノロジーを理解していない一般のオペレーターを騙すことができます。
1. ユーザーがパスワードを変更していない場合は、成功メッセージを送信します。
2. ユーザーのパスワードを変更した場合。実際にユーザーのパスワードを変更すると、変更が成功したことを示すメッセージも表示されます。
ユーザーIDとパスワードを取得する
実装プロセス中にユーザーIDを取得する必要があります。そうしないと、update ステートメントが生成されるときに、テーブル全体のすべてのデータが where 条件なしで変更されます。
パスワードは以前は md5 を使用して保存されていました。したがって、ユーザーがパスワードを変更した場合は、そのパスワードも md5 に保存する必要があります。
$id = (int)$_GET['id']; $password = md5(trim($_POST['password']));
SQL ステートメントを生成
変更された SQL ステートメントにユーザー ID とパスワードを入力し、実行のために MySQL サーバーに送信します。つまり、パスワードの変更操作が完了する。
$sql = "update user set password='" . $password . "' where id = $id";
$result = mysqli_query($conn, $sql);
if ($result) {
echo '修改成功';
}全体的な表現のデモ
フォームにユーザー情報を表示するためのソースコード
<?php
if (is_numeric($_GET['id'])) {
$id = (int) $_GET['id'];
}
$sql = "select id,username from user where id = " . $id;
$result = mysqli_query($conn, $sql);
$data = mysqli_fetch_assoc($result);
?>
<form action="update.php" method="post">
用户名:<input type="text" name="username" value="<?php echo $data['username'];?>"><br />
密码:<input type="password" name="password"><br />
<input type="hidden" value="<?php echo $data['id'];?>" name="id" />
<input type="submit" value="提交">
</form>
<?php
mysqli_close($conn);
?>update.phpを修正したソースコード
<?php
include 'connection.php';
$id = (int) $_POST['id'];
if (trim($_POST['password'])) {
$password = md5(trim($_POST['password']));
$sql = "update user set password='" . $password . "' where id = $id";
} else {
echo '修改成功';
}
$result = mysqli_query($conn, $sql);
if ($result) {
echo '修改成功';
}

