
Ders 14 — CRUD Uygulaması: Kayıt Ekleme, Listeleme, Güncelleme, Silme
Bu dersin temel sorusuBir uygulamanın temel veri işlemlerini baştan sona nasıl kurarız?
Öğrenme hedefleri
CRUD mantığını bir mini ürün uygulamasına uygulayabilecek ve işlemleri birbirinden ayırabileceksiniz.
14.1. Kayıt ekleme
PHP Kod:
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$ad = trim($_POST["ad"] ?? "");
$fiyat = (float) ($_POST["fiyat"] ?? 0);
if ($ad !== "" && $fiyat > 0) {
$stmt = $pdo->prepare(
"INSERT INTO products (name, price) VALUES (:name, :price)"
);
$stmt->execute(["name" => $ad, "price" => $fiyat]);
}
}
14.2. Listeleme
PHP Kod:
$stmt = $pdo->query("SELECT * FROM products ORDER BY id DESC");
$products = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($products as $product) {
echo "<p>";
echo htmlspecialchars($product["name"]);
echo " - " . htmlspecialchars($product["price"]);
echo "</p>";
}
14.3. Güncelleme ve silme
Güncelleme ve silme işlemlerinde hangi kaydın hedeflendiği id ile belirlenir. Ancak URL’den gelen id doğrudan güvenilir kabul edilmemelidir. Sayısal olup olmadığı kontrol edilmeli ve sorgu hazırlanmış ifade ile çalıştırılmalıdır.PHP Kod:
$id = filter_input(INPUT_GET, "id", FILTER_VALIDATE_INT);
if ($id !== false && $id !== null) {
$stmt = $pdo->prepare("DELETE FROM products WHERE id = :id");
$stmt->execute(["id" => $id]);
}
Tasarım ilkesi
Her işlemi tek bir dosyada karmaşık biçimde toplamak yerine create.php , index.php , edit.php ve delete.php gibi ayrılmış sorumluluklar kullanmak başlangıçta daha anlaşılırdır.
CRUD Uygulaması: Kayıt Ekleme, Listeleme, Güncelleme, Silme (php 14.ders)
