PHP'de Veritabanı Kaydını Düzenleme
Şimdi kullanıcı düzenlemeyi uygulayalım.
Bunun için iki sayfaya ihtiyacımız olacak:
edit.php sayfası, kullanıcıyı düzenlemek için
formun yer alacağı sayfa olacak ve
save.php sayfası, formun gönderileceği
ve daha sonra kaydedileceği sayfa olacak.
Düzenleme Sayfası
Öncelikle edit.php sayfasında bir
form oluşturalım:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
Bu forma, veritabanındaki mevcut kullanıcı verilerini
yükleyeceğiz. Kullanıcının id bilgisinin
düzenlenmesi için GET parametresinde
iletildiğini varsayalım:
<?php
$id = $_GET['id'];
?>
Kullanıcıyı almak için bir sorgu oluşturalım:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Sorguyu çalıştıralım:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Kullanıcı verilerini bir değişkene alalım:
<?php
$user = mysqli_fetch_assoc($result);
?>
Bu verileri formumuzda gösterelim:
<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>
Formun action özelliğini,
save.php sayfasına gönderilecek şekilde
değiştirelim:
<form action="save.php" method="POST">
Bu sırada GET parametresi olarak
düzenlenecek kullanıcının id bilgisini ileteceğiz:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Kaydetme Sayfası
save.php sayfasında, gönderilen
verileri alalım:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Güncelleme için bir sorgu oluşturalım:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Sorguyu çalıştıralım:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
İşlemin başarılı olduğuna dair bir mesaj gösterelim:
<?php
echo 'kullanıcı başarıyla değiştirildi!';
?>
Pratik Görevler
Kullanıcıyı düzenlemek için edit.php sayfasını uygulayın.
Düzenleme sonucunu kaydetmek için save.php sayfasını uygulayın.
index.php sayfasında, her kullanıcı için
düzenleme bağlantısı bulunan bir kullanıcı listesini
ekranda gösterin:
<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>
edit.php sayfasındaki form işlemesini uygulayın.