PHPでの個人アカウント
個人アカウントとは、ユーザーが自身のプロフィールデータを編集できる場所を指します。ユーザーがアクセスすると自身のプロフィールデータを編集するためのフォームが表示されるページaccount.phpを作成しましょう(ログインとパスワードは除きます。これらは特別な方法で処理する必要があります)。
ユーザーのidをGETパラメータとして渡さないことに注意してください。各ユーザーがページaccount.phpで他人のプロフィールデータではなく、自身のプロフィールデータを見るようにします。
そのためには、ユーザー認証時に、そのユーザーのidをセッションに次のように記録する必要があります:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
その後、ページaccount.phpにアクセスする際に、セッションから取得したidを持つユーザーをデータベースから取得するSELECTクエリを実行します:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
ユーザーのデータは編集用フォームに表示する必要があります。例えば、ユーザーの名前と姓とします:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
フォーム送信ボタンをクリックした後、ユーザーを更新するクエリを実行する必要があります:
<?php
if (!empty($_POST['submit'])) {
$name = $_POST['name'];
$surname = $_POST['surname'];
$query = "UPDATE users SET name='$name', surname='$surname' WHERE id=$id";
mysqli_query($link, $query);
}
?>
説明された個人アカウントを実装してください。