المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : شرح برمجة منتدى مرورا بمعظم مراحله


ihabsoft
29/12/2008, 02:55 PM
--------------------------------------------------------------------------------

السلام عليكم ورحمة الله وبركاته
بسم الله الرحمن الرحيم ..
كيف تبرمج منتدى كامل متكامل ..
سنبدأ مع بعضنا البعض .
بس في متطلبات بسيطة منكم هي
تحميل الأباتشي آخر إصدار لأننا سنبرمج بـ Php 5
طبعا لو حملت أي أباتشي يدعم Php 5 أوكيه بس يعني حبذا تحمل آخر إصدار
المهم أبي منكم تسوون 2 ملف أوليين وهما:
index.php
ملف الصفحة الرئيسية
وملف
global.php
ملف إستعلامات قاعدة البيانات وإلخ ..
طبعا أتعهد أمامك جميعا أن درس برمجة المنتدى بالكامل من فكرتي ولم أقتبسها من أي سكربت آخر وبعد دراسة طالت 12 شهرا ..
طبعا سأشرح معكم وسأنقطع مدة 3 أسابيع (مضطر بسبب إمتحاناتي إدعولي )
المهم جهزولي بيئة مناسبة للبرمجة
ولي عودة بعد إلتقاط الصور
وسوف يتم التمهيد الآن
سنستخدم دالات عديدة مثل :
define
include
if
هذا في الصفحة الرئيسية بإذن الله
يارب ألاقي ترحيب جامد
عشان أكمل جامد

ihabsoft
29/12/2008, 02:57 PM
أنا قصدي من هذه الدورة هو تطوير الفكر العربي للإرتقاء به إلى أفضل المكانات في العالم
وسوف أشرح لكم دالة دالة ولماذا إستخدمتها ومن يقف معه شئ يقول وسوف أشرحه براحه
طبعا الشرح بتاعي أنا كنت حاطه في ترايدنت ملقتش إقبال جامد
وأرجو أيضا منكم عمل مجلد includes وبداخله هذا الملف :
func_format.php
سنبدأ في ملف index.php
ِشوف ولاحظ الصورة:
http://traidnt.net/vb/attachment.php?attachmentid=330346&stc=1&d=1230493156
نشرح براحة كل الدالات ..
define
وهي للتعرف على الاسماء الثابتة، وطباعة قيمها..
أوكيه .. لسة هنشرحها دورها بتعمق في الدروس القادمة
include
لعمل إنكلود (ٍسوري ياجماعة العربي مش حلو معايا مع إني عربي للأسف )
هنعمل إنكلود لفايلين (ملفين) هما:
ملف الإستعلامات global
ملف func_format عشان ده اللي هينسق لينا بعض الأشكال والكلام ده
وبعدين نجي للإستعلام ده:

if(!ihforum_check_read_common()) {
return;
}

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

ihabsoft
29/12/2008, 02:58 PM
http://traidnt.net/vb/attachment.php?attachmentid=330366&stc=1&thumb=1&d=1230497717
ماشي :)

define( "ihforum", "1.0" );

ده عشان لما يتعمل ديفاين لإصدار المنتدى يظهر 1.0 اللي هو إصدار المنتدى طبعا ....
والأكواد الباقية كلها تابعة ليه
بتاع الفيرجن هيظهره وكده يعني ..
الرد القادم هيبقى في التكملة

ihabsoft
29/12/2008, 02:59 PM
هنضيف الكود ده .. أحسن كود
لسة إحنا في جلوبال

require_once("./include/****.php");
require_once("./include/user.php");
if (empty( $GLOBALS["IHFORUM_ALT_DBCONFIG"] ) || $GLOBALS["IHFORUM_ALT_DBCONFIG"]==$_REQUEST["IHFORUM_ALT_DBCONFIG"] || !defined("IHFORUM_WRAPPER")) {
$orig = ini_get("display_errors");
@ini_set("display_errors", 0);
ob_start();
if (! include_once( "./include/db/config.php" )) {
print '<html><head><title>خطأ قاتل </title></head><****>';
print '<h2>خطأ في قاعدة بيانات المنتدى </h2>';

طبعا غير براحتك في اللي مكتوب لست ملزوما بما أكتب
طبعا كلمة خطأ قاتل دي عنوان الصفحة
و كلمة خطأ في قاعدة بيانات المنتدى ده محتوى الصفحة لما يحصل خطأ في قاعدة الملفات في ملف الكونفج
واللي يبي يحط تصميم للصفحة براحته له مطلق الحرية
أنا بس بأضع أمثلة

ihabsoft
29/12/2008, 03:01 PM
لو تم تنصيب المنتدى دون حذف ملف إنستول ..
if (!file_exists("./include/db/config.php")) { ?>
تم تنصيب المنتدى على سرفرك يرجى حذف ملف إنستول.
طبعا هذا الأمر مفيد جدا للحماية ..
إن شاء الله هكمل
ياريت تستفيدو :)

ihabsoft
29/12/2008, 03:03 PM
لو لقى السكربت ملف الكونفج بس السرفر مش قاريه
هنفذ الأمر هذا :
} else {
$fp = fopen("./include/db/config.php", "r");
if (!$fp) { ?>
ملف الكونفيج موجود ولكن لايتسطيع السرفر قرائته.

ihabsoft
29/12/2008, 03:05 PM
ob_end_clean();
@ini_set("display_errors", $orig);
} else {
$IHFORUM["DBCONFIG"] = $GLOBALS["IHFORUM_ALT_DBCONFIG"];
}
if ($IHFORUM["DBCONFIG"]["type"] == "mysqli" &&
!file_exists("./include/db/mysqli.php")) {
$IHFORUM["DBCONFIG"]["type"] = "mysql";
}
طبعا ده كود للتحقق من أكتر من حاجة
كلها بتدور حول قاعد البيانات .. فبيشوف هل معلومات قواعد البيانات صحيحة أم خاطئة و بيشوف نوع قاعدة البيانات ..

ihabsoft
29/12/2008, 03:06 PM
$IHFORUM['DBCONFIG']['type'] = ********($IHFORUM['DBCONFIG']['type']);
require_once( "./include/db/{$IHFORUM['DBCONFIG']['type']}.php" );
هذا الأمر لإختيار وتحديد شريحة قاعدة البيانات

ihabsoft
29/12/2008, 03:08 PM
if(!ihforum_db_check_connection()){
if(isset($IHFORUM["DBCONFIG"]["down_page"])){
ihforum_redirect_by_url($IHFORUM["DBCONFIG"]["down_page"]);
exit();
} else {
echo "هناك خطأ في الإتصال بقاعدة البيانات";
exit();
}
}
هذا الأمر ليظهر خطأ حينما يكون هناك خطأ في الاتصال بقاعدة البيانات

alidaoud
1/6/2009, 03:30 PM
مشكورررررررررررررررررررررررررررررر

malak78
15/10/2009, 06:00 PM
والله اكثر من رائع
بس انا عندي تعليق
انا مش فاهم حاجه من شرحك

ابو ملك2008
17/12/2009, 02:09 AM
مشكور بارك الله فيك