Redaktimi i regjistrimit në DB në PHP

Le të implementojmë tani redaktimin e përdoruesit. Për këtë do të na duhen dy faqe: faqja edit.php, ku do të vendoset forma për redaktimin e përdoruesit, dhe faqja save.php, në të cilën forma do të dërgohet për ruajtje të mëvonshme.

Faqja e redaktimit

Për fillim, në faqen edit.php le të krijojmë formën:

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

Në këtë formë do të ngarkojmë të dhënat aktuale të përdoruesit nga baza e të dhënave. Le të themi id e përdoruesit për redaktim transmetohet në GET parametër:

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

Le të krijojmë kërkesën për marrjen e përdoruesit:

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

Le të ekzekutojmë kërkesën:

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

Le të marrim të dhënat e përdoruesit në një ndryshore:

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

Le t'i shfaqim këto të dhëna në formën tonë:

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>

Le të ndryshojmë action e formës në mënyrë që ajo të dërgohet në faqen save.php:

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

Në këtë rast GET parametër do të transmetojmë id e përdoruesit për redaktim:

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

Faqja e ruajtjes

Në faqen save.php le të marrim të dhënat e dërguara:

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

Le të krijojmë kërkesën për përditësim:

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

Le të ekzekutojmë kërkesën:

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

Le të shfaqim mesazhin e suksesit të operacionit:

html<?php
  echo 'përdoruesi u modifikua me sukses!';
?>

Detyra praktike

Задание 1

Implementoni faqen edit.php për redaktimin e përdoruesit.

Задание 2

Implementoni faqen save.php për ruajtjen e rezultatit të redaktimit.

Задание 3

Në faqen index.php shfaqni në ekran listën e përdoruesve në mënyrë të tillë që për çdo përdorues të ketë një lidhje për redaktimin e tij:

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

Implementoni përpunimin e formës në faqen edit.php.