Basit İçerik Yönetim Sistemi CMS Hazırlama
Web programcılığı stajımda kendi içerik yönetim sistemimi (CMS) oluşturarak dinamik sayfa yapısı geliştirdim. PHP ve MySQL kullanarak içerik ekleme, listeleme, düzenleme ve silme işlemlerini başarıyla gerçekleştirdim.

Basit İçerik Yönetim Sistemi (CMS) Hazırlama
Stajımın on birinci haftasında, öğrendiğim PHP ve MySQL bilgilerini bir araya getirerek küçük çaplı bir İçerik Yönetim Sistemi (CMS) geliştirdim. Bu sistem sayesinde yönetici panelinden içerik ekleyip silebildim, kullanıcılar ise içerikleri listeleyip okuyabildi.
Veritabanı Tasarımı
İlk olarak içerikleri tutacak olan “yazilar” tablosunu oluşturdum:
CREATE TABLE yazilar (
id INT AUTO_INCREMENT PRIMARY KEY,
baslik VARCHAR(255),
icerik TEXT,
tarih DATETIME DEFAULT CURRENT_TIMESTAMP
);
İçerik Ekleme (ekle.php)
Yönetici panelinden içerik eklemek için aşağıdaki formu kullandım:
<form method="post" action="ekle.php">
Başlık: <input type="text" name="baslik"><br>
İçerik: <textarea name="icerik"></textarea><br>
<input type="submit" value="Kaydet">
</form>
<?php
$baglanti = mysqli_connect("localhost", "root", "", "staj");
if ($_POST) {
$baslik = $_POST['baslik'];
$icerik = $_POST['icerik'];
$sql = "INSERT INTO yazilar (baslik, icerik) VALUES ('$baslik', '$icerik')";
mysqli_query($baglanti, $sql);
echo "İçerik başarıyla eklendi.";
}
?>
İçerikleri Listeleme (liste.php)
<?php
$sonuc = mysqli_query($baglanti, "SELECT * FROM yazilar ORDER BY tarih DESC");
while($satir = mysqli_fetch_assoc($sonuc)){
echo "<h2>" . $satir['baslik'] . "</h2>";
echo "<p>" . substr($satir['icerik'], 0, 200) . "...</p>";
echo "<a href='detay.php?id=" . $satir['id'] . "'>Devamını Oku</a><hr>";
}
?>
İçerik Düzenleme (duzenle.php)
Yazı ID’sine göre içeriği güncelleyen bir form hazırladım. Bu sayede admin yazıları güncelleyebildi.
İçerik Silme (sil.php)
Yine ID’ye göre içerik silme işlemi yaptım:
<?php
$id = $_GET['id'];
mysqli_query($baglanti, "DELETE FROM yazilar WHERE id=$id");
echo "İçerik silindi.";
?>
Karşılaştığım Zorluklar
- Veritabanına veri girerken Türkçe karakterlerde sorun yaşadım (utf8 çözüm oldu)
- HTML etiketlerini filtrelemediğim için içeriklerde biçim sorunları oldu
- Silme işleminde onay kutusu (confirm) eklemeyince yanlışlıkla içerik silme riski oluştu
Genel Değerlendirme
Bu çalışmamla birlikte artık statik sayfalardan çıkıp dinamik, veritabanına bağlı içerik yönetimi yapan bir sistem kurabilmenin temel adımlarını öğrendim. CMS mantığı; bloglar, haber siteleri, e-ticaret panelleri gibi projeler için vazgeçilmez bir yapı sağlıyor.