CodeBlanks Logo Icon CodeBlanks

Meydan okuma - Mini CMS

PHP kursu · Başlangıç · Ders 116/116

include, dizi ve form'la basit bir içerik yönetim sayfası yazarsın.

Meydan okuma - Mini CMS

Bu meydan okumada basit bir mini CMS yazacaksın. Sayfaları $pages ilişkisel dizisinde tutacak, foreach ile listeleyecek ve $_POST ile gelen form verisiyle yeni sayfa ekleyeceksin.

Gerçek bir CMS'te sayfa verileri include ile ayrı dosyalardan yüklenir; burada sadeleştirmek için tek dosyada tutuyoruz. isset ile anahtar varlığını denetleyip boş değilse yeni sayfayı dizine eklersin.

Uygulama Mini CMS sayfasını yaz

$_POST = ["title" => "Blog", "body" => "Yeni yazılar"] ile form verisini simüle et. $pages ilişkisel dizisine "home" => ["title" => "Ana Sayfa", "body" => "Hoş geldiniz"] ve "about" => ["title" => "Hakkımızda", "body" => "Biz kimiz"] ekle. if (isset($_POST["title"]) && $_POST["title"] !== "") ile denetle; koşul doğruysa $pages["blog"] = ["title" => $_POST["title"], "body" => $_POST["body"]] ekle. Son olarak foreach ($pages as $slug => $page) ile echo $page["title"] . " /" . $slug . "\n" yazdır.

Örnek çözümü göster
$pages ilişkisel dizisine home ve about sayfalarını ekle; $_POST'tan title ve body al; isset ile denetle, !== "" ise $pages["blog"] olarak ekle; foreach ile title ve slug yazdır.
Örnek çözüm:
<?php
// Mini CMS: sayfa dizisi ve form ile yeni sayfa ekleme
$_POST = ["title" => "Blog", "body" => "Yeni yazılar"];

$pages = [
    "home" => ["title" => "Ana Sayfa", "body" => "Hoş geldiniz"],
    "about" => ["title" => "Hakkımızda", "body" => "Biz kimiz"],
];

if (isset($_POST["title"]) && $_POST["title"] !== "") {
    $pages["blog"] = ["title" => $_POST["title"], "body" => $_POST["body"]];
}

foreach ($pages as $slug => $page) {
    echo $page["title"] . " /" . $slug . "\n";
}

Kendini test et

  1. Mini CMS'te yeni sayfa eklemek için ne kullanılır?

    • include ile dosya yüklenir
    • $_POST ile gelen form verisi alınır
    • echo ile ekrana yazılır
    • count ile sayılır
    Cevabı göster

    $_POST ile gelen form verisi alınır — Doğru. Formdan gelen veriyi $_POST süper globali ile alırız; isset ile varlığını denetleriz.

  2. Foreach döngüsünü tamamla

    foreach ($pages ____ $slug => $page) {
        echo $page["title"];
    }
    Cevabı göster
    foreach ($pages as $slug => $page) {
        echo $page["title"];
    }
  3. CMS parçalarını eşle

    $pages
    sayfa verisi
    foreach
    sayfaları listeler
    $_POST
    form verisi
    isset
    anahtar kontrolü

Başlangıç bölümündeki tüm dersler