php MySQL إنشاء مُدوّنة

تمرين : إضافة المواضيع للمدونة

آخر تحيين: 13-12-2015

تصحيح : إضافة المواضيع للمدونة تهييء الأرضية


بعد أن أنهينا الشق التنظيمي في الدرس السابق و إنشاء أول جدول لنا في قاعدة البيانات ، سنبدء في برمجة أولى صفحات موقعنا . لوضع معارفك و مكتسباتك قيد الإختبار ، يعتبر هذا الدرس عبارة عن تمرين . و المطلوب منك ، هو إنجاز التمرين في مرحلتين .
المرحلة الأولى :

  • التمكن من إضافة موضوع و تخزينه في جدول "blog" في قاعدة البيانات
  • التمكن من عرض ملخص قصير للموضوع في صفحة الإستقبال . و أيضا عرض جميع تفاصيل الموضوع في صفحة خاصة

المرحلة الثانية :

  • التمكن من تعديل الموضوع
  • التمكن من حذف الموضوع

لهذا سنحتاج لإنشاء الصفحات التالية ، في جذر ملف "blog" :

  • index.php : صفحة الإستقبال
  • add-blog.php : صفحة إضافة المواضيع في قاعدة البيانات
  • show.php : صفحة لعرض تفاصيل و محتوى الموضوع
  • edit-blog.php : صفحة لتعديل الموضوع
  • delete-blog.php : صفحة لحذف الموضوع

إبدء أولا بإنجاز المرحلة الأولى أي إضافة الموضوع و عرضه ، حين تتمكن من ذلك ، إنتقل للمرحلة الثانية أي تعديل الموضوع وحذفه .
لنرى بشكل عام ما هو المطلوب منك إنجازه في كل صفحة :

add-blog.php

صفحة إضافة المواضيع :
في هذه الصفحة ستقوم بمعالجة بيانات الإستمارة و تخزينها في قاعدة البيانات .
بالنسبة لاستمارة إضافة المواضيع ، أهديها لكم في الهيكل أسفله :
هيكل صفحة add-blog.php

<?php 
require 'includes/header.php';
require 'includes/db-connection.php';

  /*
        إستقبال بيانات الإستمارة ، و معالجة الأخطاء الممكنة
    */

  /*
        تخزين بيانات الموضوع في القاعدة
    */
?>
<form action="" method="post" id="form">
  <fieldset class="form-item">
    <legend>إضافة موضوع</legend>
    <label for="author"> الكاتب</label>
        <input type="text" name="author" id="author" value=""><br>

    <label for="title"> العنوان</label>
        <input type="text" name="title" id="title" value=""><br>

    <label for="content">المحتوى</label>
        <textarea name="content" id="content"></textarea>
  </fieldset>

  <fieldset class="form-submit">
    <input type="submit" name="submit" value="إرسال" class="button green">
  </fieldset>
</form>

<?php 
require 'includes/footer.php';

المطلوب منك أيضا عند وجود خطأ ما أثناء معالجة الإستمارة

  • عرض الخطأ مباشرة فوق الحقل المعني في الإستمارة .
  • ملأ الإستمارة بالبيانات السابقة ، حتى لا يضطر المستخدم إعادة كتابتها .

index.php

صفحة الإستقبال "index.php" ستتضمن ما يلي :

  • عرض عناوين المواضيع مع التاريخ و ملخّص قصير
<?php 
require 'includes/header.php';
require 'includes/db-connection.php';

   // عرض عناوين المواضيع مع التاريخ و ملخص قصير .
   // ...

require 'includes/footer.php';
?>

مساعدة لعرض الملخص .
لعرض ملخّص قصير . استعمل الدوال التي تقوم بقصّ أو تقطيع النص و أخذ جزء منه . مثل mb_strcut و mb_substr
هذا كل ما يتعلق بصفحة الإستقبال ، عند انتهائكم من إنجاز المرحلة الأولى ، ستحصلون على صفحة شبيهة بهذه :


show.php

صفحة مشاهدة الموضوع كاملا بجل تفاصيله . طبعا سنلج إلى هذه الصفحة عبر وصلة وضعناها مُسبّقاً في صفحة index.php .
ستكون الصفحة شبيهة بهذه


بعد إنجازك للمرحلة الأولى ، يمكنك الآن برمجة صفحتي تعديل و حذف الموضوع .


أترككم لإنجاز التمرين ، حاولوا قبل رؤية الحل .