PHP 8 ile bir "Kurs Ekleme" uygulaması geliştirmek için, temelde bir kursun bilgilerini veritabanına kaydetmemiz gerekiyor. Bu işlemi adım adım aşağıda açıklayalım. Bu senaryoda basit bir courses
tablosuna kurs başlığı, açıklaması ve tarih bilgisi ekleyeceğiz.
1. Veritabanı Yapısı
Öncelikle, kurs bilgilerini kaydetmek için bir veritabanı tablosu oluşturalım. Örnek olarak bir MySQL veritabanı kullanacağımızı varsayıyorum.
CREATE TABLE courses (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT NOT NULL,
date_created TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
2. PHP Dosyası Hazırlama
Kurs ekleme işlemini gerçekleştirmek için bir PHP dosyası oluşturacağız. Bu dosyada kurs bilgilerini form üzerinden alacağız ve veritabanına ekleyeceğiz.
3. Form Oluşturma (HTML)
Kullanıcının kurs bilgilerini gireceği bir HTML formu oluşturacağız.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kurs Ekleme</title>
</head>
<body>
<h2>Kurs Ekleme Formu</h2>
<form action="course_add.php" method="POST">
<label for="title">Kurs Başlığı:</label>
<input type="text" id="title" name="title" required>
<br>
<br>
<label for="description">Kurs Açıklaması:</label>
<textarea id="description" name="description" required>
</textarea>
<br>
<br>
<button type="submit">Kurs Ekle</button>
</form>
</body>
</html>
4. Kurs Ekleme PHP Kodu (course_add.php)
PHP 8 ile birlikte mysqli
ya da PDO
kullanarak veritabanına bağlanabiliriz. Aşağıda PDO ile bağlantı yapacağız ve kullanıcıdan gelen verileri ekleyeceğiz.
<?php
// Veritabanı bağlantısı
$dsn = "mysql:host=localhost;dbname=my_database;charset=utf8mb4";
$username = "root"; // Kullanıcı adınızı buraya yazın
$password = ""; // Şifrenizi buraya yazın
try {
$pdo = new PDO($dsn, $username, $password);
// PDO hatalarını göster
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Form gönderildiyse
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Verileri al
$title = $_POST['title'];
$description = $_POST['description'];
// Veritabanına ekle
$sql = "INSERT INTO courses (title, description) VALUES (:title, :description)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':title', $title);
$stmt->bindParam(':description', $description);
$stmt->execute();
echo "Kurs başarıyla eklendi!";
}
} catch (PDOException $e) {
echo "Veritabanı hatası: " . $e->getMessage();
}
?>
5. Veri Güvenliği ve PDO Hazırlığı
- SQL Injection riskine karşı PDO kullanarak parametreli sorgular oluşturduk.
- Giriş verilerinin filtrelenmesi için
htmlspecialchars()
fonksiyonu eklenebilir. Bu sayede kullanıcıdan gelen veriler işlenmeden önce zararsız hale getirilir.
$title = htmlspecialchars($_POST['title']);
$description = htmlspecialchars($_POST['description']);
6. Sonuç
Bu adımları takip ederek PHP 8 ve PDO kullanarak basit bir kurs ekleme formu oluşturmuş olduk. Bu yapı, kurs bilgilerini güvenli bir şekilde veritabanına kaydetmeye olanak tanır.