Нависозии сабти дар пойгоҳи додаҳо дар PHP

Акнун биёед нависозии корбарро татбиқ кунем. Барои ин ба ду саҳифа ниёз дорем: саҳифаи edit.php, ки дар он форм барои нависозии корбар ҷойгир карда мешавад, ва саҳифаи save.php, ки ба он форм барои нигоҳдорӣ дар навбат фиристода мешавад.

Саҳифаи нависозӣ

Аввалан дар саҳифаи edit.php форм созем:

edit.php<form action="" method="POST">
  <input name="name">
  <input name="age">
  <input name="salary">
  <input type="submit">
</form>

Мо дар ин форм додаҳои ҷорӣ аз корбарро аз пойгоҳи додаҳо бор мекунем. Бигзор id корбар барои нависозӣ дар параметри GET интиқол дода шавад:

edit.php<?php
  $id = $_GET['id'];
?>

Дархости ба даст овардани корбарро тартиб медиҳем:

edit.php<?php
  $query = "SELECT * FROM users WHERE id=$id";
?>

Дархостро иҷро кунем:

edit.php<?php
  $result = mysqli_query($link, $query) or die(mysqli_error($link));
?>

Додаҳои корбарро ба тағирёбанда мегирем:

edit.php<?php
  $user = mysqli_fetch_assoc($result);
?>

Ин додаҳоро дар форми мо бармегардонем:

edit.php<form method="POST">
  <input name="name" value="<?= $user['name'] ?>">
  <input name="age" value="<?= $user['age'] ?>">
  <input name="salary" value="<?= $user['salary'] ?>">
  <input type="submit">
</form>

action формро тағир медиҳем, то ки он ба саҳифаи save.php фиристода шавад:

html<form action="save.php" method="POST">

Дар ин ҳол параметри GET-ро барои интиқоли id корбар барои нависозӣ истифода мебарем:

html<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">

Саҳифаи нигоҳдорӣ

Дар саҳифаи save.php додаҳои фиристодашударо мегирем:

html<?php
  $id = $_GET['id'];
  $name = $_POST['name'];
  $age = $_POST['age'];
  $salary = $_POST['salary'];
?>

Дархости навсозиро тартиб медиҳем:

html<?php
  $query = "UPDATE users SET
    name='$name', age='$age', salary='$salary'
  WHERE id=$id";
?>

Дархостро иҷро мекунем:

html<?php
  mysqli_query($link, $query) or die(mysqli_error($link));
?>

Пайомади амалиётро дар бораи муваффақият мебарорем:

html<?php
  echo 'Корбар бомуваффақият тағир дода шуд!';
?>

Масъалаҳои амалӣ

Задание 1

Саҳифаи edit.php-ро барои нависозии корбар татбиқ кунед.

Задание 2

Саҳифаи save.php-ро барои нигоҳдории натиҷаи нависозӣ татбиқ кунед.

Задание 3

Дар саҳифаи index.php рӯйхати корбаронро ба экран баргардонед, то барои ҳар як корбар истиноди барои нависозии он вуҷуд дошта бошад:

html<ul>
  <li>user1 <a href="?edit=1">edit</a></li>
  <li>user2 <a href="?edit=2">edit</a></li>
  <li>user3 <a href="?edit=3">edit</a></li>
</ul>
Задание 4

Коркарди формро дар саҳифаи edit.php татбиқ кунед.