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

درس حول تصميم وبرمجة موقع من الصفر مع لوحة تحكم بإستخدام php & mysql

استعرض الموضوع التالي استعرض الموضوع السابق اذهب الى الأسفل

درس حول تصميم وبرمجة موقع من الصفر مع لوحة تحكم بإستخدام php & mysql Empty درس حول تصميم وبرمجة موقع من الصفر مع لوحة تحكم بإستخدام php & mysql

مُساهمة من طرف Ch.Marwen الخميس 30 مايو 2013, 08:11

درس حول تصميم وبرمجة موقع من الصفر مع لوحة تحكم بإستخدام php & mysql



بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه
لاحظت وجود الكثير من الأسئله حول كيفيه عمل صفحة تحكم بالموقع وهذا لايمكن شرحة بسهوله
لذلك فكرت في شرح درس عملي حول كيفيه تصميم موقع وبرمجته من الصفر وبشكل سهل ومفهوم وغير معقد ولن يراعى فيه النقاط الأمنية والثغرات لآن هذا الموقع سيكون موقع بسيط لشركة صغيره جدا أو موقع شخصي ولكن يمكن التحكم في صفحاته.

أولا سأكتب على ماذا سيحتوي الموقع في نقاط يتم تنفيذها بشكل متتالي :
1- تحليل مكونات الموقع
2- بناء الموقع من الناحية البرمجيه PHP
3- تصميم الموقع وتقسيمه PHOTOSHOP
4- دمج البرمجه مع التصميم HTML
5- إضافة المؤثرات التي تجعل الموقع سهل الإستخدام Java******

سنبدأ في أول خطوه :
الموقع عباره عن نظام cms بسيط يحتوي على سكريبت لإضافة وحذف وتعديل الصفحات فقط (مبدئيا) لذلك سنحتاج إلى قاعدة بيانات تحتوي على جدول للصفحات كما يلي
رقم الصفحة - المقبض (هيك ترجمتها وهيك علمونا بالكليات والجامعات فما تدققوا رجاء) - عددي 20
إسم الصفحة - حروف 50 (هذا رح يكون لينك الصفحة في القائمة مشان هيك لازم يكون طول الكلمه معقول مش سطر)
محتوى الصفحة - نص طويل (LONG TEXT)
ترتيب الصفحة في القائمة - عدد 3
مكان الصفحة - عدد 1 (هنا لتحديد مكان ظهور اللينك الخاص بالصفحة هل هو في القائمة العلويه أو السفليه أو غير ذلك -مايظهر من أصله)
صلاحية الصفحة - عدد 1 (ما أقصدة هل هذه الصفحة أكتيف أم لا )
أعتقد هذا كافي لموقع بسيط ,
سنحتاج أيضا إلى جدول المستخدم
الرقم - مقبض (شرحنا إنو هاي ترجمة الكلمه سابقا) 20 عدد
إسم المستخدم - حرف 20
الرقم السري - حرف 20
لانريد صلاحيات حاليا فقط مستخدم لدخول صفحة التحكم

نريد أيضا جدول إعدادات الموقع
الرقم (مقبض ) عدد 20
الإسم - حرف 250
القيمه - نص طويل
هذا الجدول سيحتوي مثلا على
الرقم | 1
الإسم | الكلمات المفتاحية
القيمة | موقع,بسيط,CMS, إلخ ...

حاليا هذه هي الجداول المطلوبه (هذا ما أذكرة)
سأقوم بإنشاء الجداول والمتابعه لاحقا

__________________ تم عمل الجداول بحمد الله (الكود مرفق)
انسخ الكود

كود:


الكود:
[code][LIST][*][*][*]CREATE DATABASE `simple_cms` ;[*][*] CREATE TABLE `simple_cms`.`pages` ([*]`id` INT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,[*]`page_name` VARCHAR( 50 ) NOT NULL ,[*]`Page_cont` LONGTEXT NOT NULL ,[*]`page_sort` INT( 3 ) NOT NULL ,[*]`page_place` INT( 1 ) NOT NULL ,[*]`page_active` INT( 1 ) NOT NULL [*]) ENGINE = MYISAM [*][*][*] CREATE TABLE `simple_cms`.`users` ([*]`id` INT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,[*]`user_name` VARCHAR( 20 ) NOT NULL ,[*]`user_pass` VARCHAR( 20 ) NOT NULL[*]) ENGINE = MYISAM [*][*][*] CREATE TABLE `simple_cms`.`sett` ([*]`id` INT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,[*]`s_string` VARCHAR( 250 ) NOT NULL ,[*]`s_value` LONGTEXT NOT NULL[*]) ENGINE = MYISAM [*][*][*][/LIST][/code]



أرجو من الخبراء تنبيهي إلى الأمور التي تكون غاية في الخطوره عند إستخدامها مع الشرح لتعم الفائدة ويصبح الموضوع ذا فائدة بإذن الله

لقد إنتهينا من المرحلة الأولى وهي بناء مكونات الموقع من ناحية الدراسة وقاعدة البيانات
الآن إلى المرحله الثانية وهي الكود PHP
في البداية يجب أن تكون السكربتات التي سنكتبها قابله للإستخدام والتطوير فيما بعد لذلك من المهم إستخدام الفنكتشين .. بالنسبه للأوبجيكت أوريانتيد فهي ضعيفه في البي أتش بي وصراحة لا أتقنها بهذه اللغه فلا أرى لها داعي 

كيف سنبدأ؟
انا أرى البدء من لوحة التحكم هو الأفضل لآننا بهذه الحاله سنقوم بعمليات الإضافة والتعديل وعمليه إظهار البيانات وفي الموقع فقط نحتاج إلى عملية إظهار للبيانات فالعمليه الأشمل هي لوحة التحكم ..
سنقوم بإنشاء مجلد سنسميه site
وبداخل هذا المجلد سننشئ مجلد بإسم administrator
المجلد الأول هو مجلد الموقع الرئيسي
والمجلد الثاني هو مجلد لوحة التحكم (تم إنشاء لوحه التحكم داخل مجلد بسبب الأمان فيمكن عمل إسم ورقم دخول للمجلد ويمكن إخبار جووجل بعدم أرشفت مابداخل هذا المجلد وهناك أسباب كثيره )
سنبدأ في صفحة الكنفج وهي خاصه بإعدادات الموقع والفانكشين وغيرها
انسخ الكود

كود:


[LIST][*][*]// page name conf.php[*]// page dir= ../ أي أنها في ا

04;مجلد الرئيسي لل

;موقع.[*]$db_host="localhost";[*]$db_name="simpel_cms"; // إسم قاعدة ا

04;بيانات التي قمن

;ا بإنشائها من قب

ل[*]$db_user="root"; // إسم الدخول ل

604;قاعدة[*]$db_pass="";  // كلمة السر لل 

5;ستخدم الخاص بقا

عدة البيانات[*]$link = mysql_connect("localhost",$db_user,$db_pass)or die ('لايمك

;ن الوصول لقاعدة

البيانات بسبب: ' . mysq

l_error());[*]$db_selected = mysql_select_db($db_name, $link);[*]// في حال قمنا بتن 

1;يذ هذه الصفحة يج

;ب أن تظهر صفحة فا

;رغه وإذا ظهر بها

 عباره لايمكن ال&

#1608;صول لقاعدة الب

610;انات فتأكد بأن 

07;ناك خلل في الإعž

3;ادات التي قمت بإ

;دخالها[*]// عملية تنفيذ هذه

; الصفحة تكون كما

 يلي[*]// <a href="http://localhost/site/conf.php" target="_blank">http://localhost/site/conf.php</a>[*][*][*][*][/LIST]



لآن نبدأ في الصفحة الرئيسيه والتي ستحتوي على عمليه تسجيل الدخول وإظهار الأزرار اللازمه للتحكم بالموقع
انسخ الكود

كود:


الكود:
[LIST][*][*]// page name index.php[*]session_start();  //بدء الجلسة[*][*]include "../conf.php"; // إضافة محت

08;يات صفحة الإعدا

;دات إلى هذه الصف

حة[*][*]if($out){ // إنهاء الجلسة[*]    session_unset();[*]    session_destroy();[*]}[*][*]if($login)[*]{  // عملية تسجيل دخ

608;ل المدير[*]    $result = mysql_query("SELECT * FROM users WHERE user_name = '$useradmin' AND user_pass = [*][*]'$passadmin' LIMIT 1",$link);  // الإستعلا 

5; عن وجود هذا الإž

7;م وكلمة السر في ž

0;دول المستخدمين[*]    while ($row = mysql_fetch_array($result, MYSQL_NUM))[*]    {[*]        session_register("IDUSER_ADMIN");    // الوصول 

73;لى هنا يعني وجوž

3; هذا المستخدم وت

;تم عمليه تسجيل م

تغيرات جلسة الع&#

1605;ل ليتم طلبها في &#

1601;ترة الجلسة[*]        session_register("username");[*]        $IDUSER_ADMIN=$row[0];[*]        $username=$row[1];[*]        $yes_found=1; //يمكن أن نضع  

7;نا متغير تصبح قي

;مته واحد ويدل عل

ى أن المستخدم وج&

#1583;[*]    }[*]    if(!$yes_found){ $err_msg ="هناك خطأ ف¡

0; كلمة السر أو إس 

5; الدخول "; } // إذا ال 

5;تغير لايحمل قيم

ه إذا المستخدم غ&

#1610;ر موجود في قاعد&#

1577; البيانات[*]}[*][*]if($IDUSER_ADMIN){    // إذا كانت جلž

7;ة العمل قائمة ست

;ظهر الأزرار وال&

#1608;صلات للوحة الت

581;كم[*]  $body ="مرحبا بك <br> $username.<br><a href='?out=

1'> تسجيل الخروج </a>";[*]}else{  // الجلسة لم تنش

1; بعد فيجب أن يظهž

5; نموذج التسجيل[*]  $body='<br><br><br><br><form method="POST" action="?">[*]    <div align="center">[*]        <table border="1" width="100" cellspacing="1">[*]            <tr>[*]                <td>[*]    <font color="#014D5F"><b>User</b></font></td>[*]                <td><font color="#FF0000"><input name="useradmin" size="20" [*][*]style="font-weight: 700"></font></td>[*]            </tr>[*]            <tr>[*]                <td>[*]    <font color="#014D5F"><b>Password</b></font></td>[*]                <td><font color="#FF0000">[*]    <input name="passadmin" type="password" style="font-weight: 700" size="20"></font></td>[*]            </tr>[*]        </table>[*]    </div>[*]    <p align="center" style="margin-top: 0; margin-bottom: 0">[*]    &nbsp;</p>[*]    <p align="center" style="margin-top: 0; margin-bottom: 0">[*]    <font color="#FF0000">[*]    <input type="submit" value="Login" name="login" style="font-weight: 700"></font></p>[*]</form>';[*]}[*]?>[*][*]//إظهار النتائج[*]echo '<meta **********="Content-Type" content="text/html; charset=windows-1256"> <head>';[*]echo "$err_msg <br> $body";[*][*][*][*][*][*][/LIST]


ونكمل بعد أن تقوموا بتجربة الكود
الكود مرفق ... ملاحظه : يجب عمل تشغيل للريجيستر جلوبال

كود:


الكود:
قم بالبحث داخل مجلد البي أتش بي عن ملف إسمه
php.ini
وقم بفتحه والبحث بداخله عن هذا السطر
register_globals =
قم بتغير قيمتها من OFF
إلى
ON


أعلم أن هذا الأمر يؤدي إلى مشكله أمنيه ولكن لا أعلم مدى أهميه هذه الثغره لذلك من لديه علم بحجم هذه الثغره فليفيدنا مشكورا
Ch.Marwen
Ch.Marwen
الادارة العليا
الادارة العليا

المتصفح : Google Chrome
الإقامة : Republic of Tunisia
الجنس : ذكر
عدد المساهمات : 25405
نقاط : 103330942
تقييم : 7859
تاريخ الميلاد : 14/01/1990
تاريخ التسجيل : 11/02/2012
العمر : 34

http://www.arabwoorld.com
-----

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع التالي استعرض الموضوع السابق الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى

  • ©phpBB | Ahlamontada.com | منتدى مجاني للدعم و المساعدة | التبليغ عن محتوى مخالف | ملفات تعريف الارتباط التابعة لجهات خارجية | آخر المواضيع