PHP 8 ile kurs kategorilerini güncellemek için bir güncelleme formu oluşturmanız ve formdan gelen verileri işleyerek veritabanındaki kategoriyi güncellemeniz gerekiyor. Aşağıda adım adım nasıl yapılacağını açıklayacağım.
1. Veritabanı Bağlantısı
Öncelikle, veritabanına bağlantı kurmalısınız. İşte temel bir bağlantı kodu:
<?php
// Veritabanı bağlantısı
$servername = "localhost";
$username = "kullanici_adiniz";
$password = "sifreniz";
$dbname = "veritabani_adiniz";
// Bağlantıyı oluştur
$conn = new mysqli($servername, $username, $password, $dbname);
// Bağlantıyı kontrol et
if ($conn->connect_error) {
die("Bağlantı başarısız: " . $conn->connect_error);
}
?>
2. Kategori Bilgilerini Alma
Güncellenmek istenen kategori bilgilerini almak için bir sorgu yapmalısınız. Aşağıdaki örnekte, güncellenmek istenen kategori ID'sine göre verilerin çekilmesi gösterilmiştir:
// Kategori ID'sini al (örneğin, URL'den)
$kategori_id = $_GET['id'];
// Mevcut kategori bilgilerini alma
$result = $conn->query("SELECT * FROM kategoriler WHERE id = $kategori_id");
$kategori = $result->fetch_assoc();
3. HTML Formu ile Kategori Güncelleme
Kategoriyi güncellemek için bir HTML formu oluşturun. Bu form, mevcut kategori bilgilerini gösterecek ve kullanıcıdan yeni bilgileri alacaktır:
?>
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kategori Güncelle</title>
</head>
<body>
<h1>Kategori Güncelle</h1>
<form action="kategori_guncelle.php" method="post">
<input type="hidden" name="id" value="<?php echo $kategori['id']; ?>">
<label for="isim">Kategori İsmi:</label>
<input type="text" id="isim" name="isim" value="<?php echo htmlspecialchars($kategori['isim']); ?>" required>
<br>
<input type="submit" value="Güncelle">
</form>
</body>
</html>
<?php
// Bağlantıyı kapat
$conn->close();
?>
4. Güncelleme İşlemi (kategori_guncelle.php)
Formdan gelen verileri işleyerek veritabanındaki kategori kaydını güncellemek için bir PHP dosyası oluşturun:
<?php
// Veritabanı bağlantısı
$servername = "localhost";
$username = "kullanici_adiniz";
$password = "sifreniz";
$dbname = "veritabani_adiniz";
// Bağlantıyı oluştur
$conn = new mysqli($servername, $username, $password, $dbname);
// Bağlantıyı kontrol et
if ($conn->connect_error) {
die("Bağlantı başarısız: " . $conn->connect_error);
}
// Formdan gelen verileri kontrol et
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$kategori_id = $_POST['id'];
$isim = $_POST['isim'];
// Prepared sorgu ile güncelleme işlemi
$stmt = $conn->prepare("UPDATE kategoriler SET isim = ? WHERE id = ?");
$stmt->bind_param("si", $isim, $kategori_id);
// Sorguyu çalıştır
if ($stmt->execute()) {
echo "Kategori güncellendi!";
} else {
echo "Güncelleme başarısız: " . $stmt->error;
}
// Sorgu nesnesini kapat
$stmt->close();
}
// Bağlantıyı kapat
$conn->close();
?>
5. Açıklama
-
Kategori Bilgilerini Alma: Kullanıcı güncelleme sayfasına geldiğinde, güncellenecek kategori bilgileri veritabanından çekilir.
-
HTML Formu: Kullanıcıdan kategori ismini alır ve mevcut kategori ismini formda gösterir. Form, kategori ID'sini gizli bir alan olarak içerir.
-
Güncelleme İşlemi: Formdan gelen verileri alarak
kategoriler
tablosundaki mevcut kaydı günceller.prepared statement
kullanarak güvenli bir güncelleme işlemi gerçekleştirir.
6. Kullanım
- Yukarıdaki kodları bir PHP dosyasına (örneğin,
kategori_guncelle_form.php
) kaydedin. - Güncellenecek kategori ID'sini URL üzerinden geçirin (örneğin,
kategori_guncelle_form.php?id=1
). - Web sunucusunda bu dosyayı çalıştırarak kategori güncelleme formunu görüntüleyin.
Bu adımlarla, kurs kategorilerini güncelleyebileceğiniz bir uygulama oluşturmuş oldunuz.