ط§ظ„ط´ط±ط* ط§ظ„ط´ط§ظ…ظ„ ظ„ظƒظٹظپظٹط© طھظˆط«ظٹظ‚ ط²ظˆط§ط± ظ…ظˆظ‚ط¹ظƒ ط¹ظ† ط·ط±ظٹظ‚ facebook





نعود معكم أعضاء وزوار موقعنا الكرام, وكما عودناكم بالجديد, وان نقدم لكم دروس مهمه وفى نفس الوقت مفهومه وواضحه , هذا درس مفصل من الدروس الرائعه التى تعلمتها , وقد تم شرح طريقة هذا الدرس مفصل على أحد مواقع التعليم الاجنبيه, وهذا الدرس مفصل كنت من زمان ابحث عنه الى ان وجدت من شرح طريقةه , فله جزيل الشكر mr rafael على هذا الشرح طريقة اللى شرح طريقةه , بصراحه استفدت منه كثيرا فحبيت ان اشرح طريقة هذا الدرس مفصل بعد ان استوعبته الحمدلله وأشرح طريقةه ولكن على طريقتى المتواضعه , لان الدرس مفصل فيه بعض الجزئيات والمشاكل
ولكن سوف نتجنبها ان شاء الله , فأنا لم أقرر عمل هذا الدرس مفصل , الا لما تأكدت وجربت كل شىء بنفسى


اولا: الهدف من الموضوع:

كثيرا من المواقع تقوم بعمل نظام عضويات للاعضاء, ونظام العضويات يختلف من موقع وللاخر, وقد يتعب المبرمج فى برمجته, ولكن لماذا لا نوفر الوقت لما هو أهم, ونستخدم الfacebook الرائع ليقوم لنا بهذه
المهمه, وأعتقد لايوجد أقوى تسجيل دخول وتوثيق أقوى من هذه المواقع العملاقه

لذلك دعنا نشوف فكرة الدرس مفصل بشىء مبسط

انظر للصوره.........




تمام ..........


دعنا ننطلق ونشرح طريقة درس مفصلنا على بركة الله .......

فهرس خطوات الدرس مفصل:

1-انشاء قاعدة بيانات لتخزين العضويات الموثقه من الفيس بوك


2-انشاء الapplication اللى راح نسويه على الفيس بوك للاتصال به من أجل عملية التوثيق


3-تنزيل مكتبة الفيس بوك +عمل صفحة الدخول وشرح طريقة فكرتها البرمجية


4-تجربة الاتصال ورؤية ناتج التوثيق للدخول للصفحة المحميه


5-المشاكل التى ممكن تواجهك وحلها




اولا: انشاء قاعدة البيانات :

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

رمز Code:
CREATE TABLE `users` (
رمز Code:
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`oauth_provider` varchar(10), `oauth_uid` text, `username` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;




ثانيا:انشاء الapplication اللى راح نسويه على الفيس بوك للاتصال به من أجل عملية التوثيق

ملاحظه: لابد ان تملك عضويه على الفيس بوك قبل تنفيذ اى خطوه قادمه......

اذهب للصفحه الاتيه: اضغــــط هـــــــنـــــا

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


2- سوف تذهب بعدها لصفحة اعداد البرنامج, وستجد اولا انه معطيك مفتاح وكلمة السر لبرنامج


-نكمل الاعدادت من اليسار اختار canvas
ثم نكتب صفحة التوجيه للبرنامج , ولنفرض انها ستكون على السيرفر SERVER المحلى

مثل ما بالصوره, ولا تنسى علامة ? فى اخر الرابط لانها مهمه


-نكمل واضغط من اليسار على connect , ونكتب اعدات الاتصال



احفظ الاعدادات , وبهيك يكون برنامج الاتصال جاهز للاستخدام

ملاحظه: يمكنك الرجوع لاعدادت البرنامج وتغييرها فى اى وقت من خيار Myapplications على صفحتك
الخاصه على الفيس بوك




ثالثا: تنزيل مكتبة الفيس بوك +عمل صفحة الدخول وشرح طريقة فكرتها البرمجيه

1-انزل المكتبه من هذا الرابــــــط

2-الحين نريد انشاء صفحة الدخول اللى راح تضعها فى موقعك من أجل توثيق دخولهم للصفحة المحمية

اولا: دعونا نعرف فكرة هذه الصفحه







ثانيا: هذا هو ملف كاملا مشروحا فوق كل عباره وظيفة الدوال و الفانكش :

رمز Code:
<?php
رمز Code:
session_start();
if(!empty($_SESSION)){ header(&quot;Location: home.php&quot; } mysql_connect('localhost', 'root', 'root'); mysql_select_db('facebook');
# استدعاء رابط المكتبه require(&quot;facebook.php&quot;
# تجهيز بيانات الدخول لبرنامج على الفيس بوك $facebook = new Facebook(array( 'appId' => 'id رقم ال', 'secret' => 'باسورد البرنامج', 'cookie' => true ));
# التحقق من وجود جلسه ام لا $session = $facebook->getSession();
if(!empty($session)) { # لو وجدت جلسه راح نجلب رقمها وبياناتها user id (getUser()) and user info (api->('/me')) try{ $uid = $facebook->getUser(); $user = $facebook->api('/me'); } catch (Exception $e){} if(!empty($user)){ # توجد جلسه, دعنا نتحقق من عضويه مسجله بالفيس بوك ومخزنه عندنا فى قاعدة البيانات $query = mysql_query(&quot;SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid = &quot;. $user['id']); $result = mysql_fetch_array($query); # لو لا, اضف هذه العضويه لقاعدة البيانات if(empty($result)){ $query = mysql_query(&quot;INSERT INTO users (oauth_provider, oauth_uid, username) VALUES ('facebook', {$user['id']}, '{$user['name']}')&quot; $query = msyql_query(&quot;SELECT * FROM users WHERE id = &quot; . mysql_insert_id()); $result = mysql_fetch_array($query); } // ظبط اعدادت الجلسه $_SESSION['id'] = $result['id']; $_SESSION['oauth_uid'] = $result['oauth_uid']; $_SESSION['oauth_provider'] = $result['oauth_provider']; $_SESSION['username'] = $result['username']; } else { # اذا وجدت خطأ, وقف البرنامج die(&quot;There was an error.&quot; } } else { # اذا لم يوجد جلسه, نقوم بعمل واحده $login_url = $facebook->getLoginUrl(); header(&quot;Location: &quot;.$login_url); }






رابعا: تجربة الاتصال ورؤية ناتج التوثيق للدخول للصفحة المحميه

الحين بعد ان جهزنا ملف login_facebook.php

نفتحه على المتصفح وسوف يوجهك للفيس بوك, ليطلب منك التوثيق قبل ان يوجهك للصفحة المحميه
اللى راح تحدهها فى الملف السابق عن طريق هذا الكود code

رمز Code:
if(!empty($_SESSION)){
رمز Code:
header(&quot;Location: home.php&quot;
}



نشوف الناتج.......



بعدها راح يوجهنا للصفحة المحميه home.php



شوفتوا البساطه والمتعه



خامسا: المشاكل اللى ممكن تواجهك:

طبعا من أهم المشاكل التى واجهتها هى كالاتى:

1-تعليق الفيس بوك, فقد يواجهك مشكله عمل البرنامج , لذا عليك الانتظار حتى تنظبط
2-تغير بيانات البرنامج, وهذه حدثت معى اول مره , لذا لو واجهتك مشكله وطلعلك error
عند تجربه ملف login_facebook.php , يفضل تراجع اعدادت البرنامج خصوصا connect والcanvas


هذه أهم المشاكل ........





لتحميل ملفات الدرس مفصل مرفقه بالموضوع..........







طبعا أخونا rafael شارح أشياء كثيره أخرى , ولكن للاسف لو شرح طريقةتها لن تفيد الكثير, لانها تركز بالاخص
على من يستخدم الفيس بوك(مثل حالاتى) , وأنا أعلم ان الكثير يأخذ فكره سيئه عن الفيس بوك
على الرغم من ان له فوائده كثيره يكفى انى بتواصل مع أصدقاء العمر والدراسه , بصراحه لما قرأت هذا الدرس مفصل, شجعنى ان اتجهنى لاتعامل مع ركن المبرمجين هنا, حتى احتك بهؤلاء عمالقه البرمجه , ونزلت كتاب خاص ببرمجيات الفيس بوك والمكتبه وكيفيه التعامل معها, وبس يتثنى لى الوقت سوف اقرأه


بالتوفيق


أخوكم vista-design





التعديل الأخير كان بواسطة vista-design; 22 - 06 - 2014 الساعة 03:53


الملفات المرفقة [TR]
sourceadvphp.zip (6.8 كيلوبايت, عدد مرات المشاهدة 388 مرة) [/TR]



©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©