Área do Cliente em PHP
Por área do cliente entende-se um local onde
o usuário pode editar os dados do seu
perfil. Vamos criar uma página account.php,
ao acessar a qual o usuário verá um formulário
para editar os dados do seu perfil
(exceto login e senha, estes devem ser processados
de maneira especial).
Observe que o id do usuário
não é passado como parâmetro GET - nós
vamos fazer com que cada usuário na
página account.php veja os dados
do seu próprio perfil, e não de outro.
Para isso, ao autorizar o usuário,
devemos gravar na sessão o id desse
usuário, assim:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
}
?>
Em seguida, ao acessar a página account.php,
faremos uma consulta SELECT que
irá buscar no banco de dados o usuário com o id
da sessão:
<?php
$id = $_SESSION['id'];
$query = "SELECT * FROM users WHERE id='$id'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
?>
Os dados do usuário devem ser mostrados no formulário para edição. Vamos supor, por exemplo, que sejam o nome e sobrenome do usuário:
<form action="" method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="surname" value="<?= $user['surname'] ?>">
<input type="submit" name="submit">
</form>
Após clicar no botão de envio do formulário, devemos fazer uma query de atualização do usuário:
<?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);
}
?>
Implemente a área do cliente descrita.