آموزش PHP

آموزش PHP - ورود به فیسبوک

ما می توانیم از ورود به فیسبوک برای دسترسی کاربران به وب سایت ها استفاده کنیم. این صفحه به شما در مورد ورود با فیس بوک PHP SDK توضیح می دهد.

ورود با فیس بوک

  • به https://developers.facebook.com/apps/ رفته و بر روی افزودن یک دکمه گروه جدید (add a new group) برای ایجاد app ID (شناسه برنامه) کلیک کنید.
  • وب سایت را انتخاب نمایید 
  • نام برنامه را وارد کرده و بر روی Create New Facebook App ID کلیک کنید.
  • روی Create app ID کلیک کنید.
  • روی Skip Quick Test کلیک نمایید

 

در مرحله نهایی، تصویر زیر را نشان داده می شود.

facebook

مرور بر فایل fbconfig.php

  • اکنون فایل زیپ را از اینجا دانلود کنید. 
  • در حال حاضر فایل php را باز کرده، شناسه برنامه (app ID) و برنامه مخفی را اضافه کنید.
FacebookSession::setDefaultApplication( 'your app ID','App Secrete ' );
// login helper with redirect_uri
   $helper = new FacebookRedirectLoginHelper('You web address' );

در نهایت فایل fbconfig.php به صورت زیر نشان داده می شود.

<?php
   
   session_start();
   
   // added in v4.0.0
   require_once 'autoload.php';
   use FacebookFacebookSession;
   use FacebookFacebookRedirectLoginHelper;
   use FacebookFacebookRequest;
   use FacebookFacebookResponse;
   use FacebookFacebookSDKException;
   use FacebookFacebookRequestException;
   use FacebookFacebookAuthorizationException;
   use FacebookGraphObject;
   use FacebookEntitiesAccessToken;
   use FacebookHttpClientsFacebookCurlHttpClient;
   use FacebookHttpClientsFacebookHttpable;
   
   // init app with app id and secret
   FacebookSession::setDefaultApplication( '496544657159182','e6d239655aeb3e496e52fabeaf1b1f93' );
   
   // login helper with redirect_uri
   $helper = new FacebookRedirectLoginHelper('http://www.tutorialspoint.com/' );
   
   try {
      $session = $helper->getSessionFromRedirect();
   }catch( FacebookRequestException $ex ) {
      // When Facebook returns an error
   }catch( Exception $ex ) {
      // When validation fails or other local issues
   }
   
   // see if we have a session
   if ( isset( $session ) ) {
      // graph api request for user data
      $request = new FacebookRequest( $session, 'GET', '/me' );
      $response = $request->execute();
      
      // get response
      $graphObject = $response->getGraphObject();
      $fbid = $graphObject->getProperty('id');           // To Get Facebook ID
      $fbfullname = $graphObject->getProperty('name');   // To Get Facebook full name
      $femail = $graphObject->getProperty('email');      // To Get Facebook email ID
      
      /* ---- Session Variables -----*/
      $_SESSION['FBID'] = $fbid;
      $_SESSION['FULLNAME'] = $fbfullname;
      $_SESSION['EMAIL'] =  $femail;
      
      /* ---- header location after session ----*/
      header("Location: index.php");
   }else {
      $loginUrl = $helper->getLoginUrl();
      header("Location: ".$loginUrl);
   }
?>

 

مروری بر صفحه ورود

صفحه ورود به سیستم برای ورود به FB استفاده می شود.

<?php
   session_start();
   session_unset();
   
   $_SESSION['FBID'] = NULL;
   $_SESSION['FULLNAME'] = NULL;
   $_SESSION['EMAIL'] =  NULL;
   header("Location: index.php");        
?>

index.php

صفحه ایندکس به صورت زیر نشان داده می شود.

<?php
   session_start(); 
?>
<html xmlns:fb = "http://www.facebook.com/2008/fbml">
   
   <head>
      <title>Login with Facebook</title>
      <link 
         href = "http://www.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" 
         rel = "stylesheet">
   </head>
   
   <body>
      <?php if ($_SESSION['FBID']): ?>      <!--  After user login  -->
         
         <div class = "container">
            
            <div class = "hero-unit">
               <h1>Hello <?php echo $_SESSION['USERNAME']; ?></h1>
               <p>Welcome to "facebook login" tutorial</p>
            </div>
            
            <div class = "span4">
				
               <ul class = "nav nav-list">
                  <li class = "nav-header">Image</li>
						
                  <li><img src = "https://graph.facebook.com/<?php 
                     echo $_SESSION['FBID']; ?>/picture"></li>
                  
                  <li class = "nav-header">Facebook ID</li>
                  <li><?php echo  $_SESSION['FBID']; ?></li>
               
                  <li class = "nav-header">Facebook fullname</li>
						
                  <li><?php echo $_SESSION['FULLNAME']; ?></li>
               
                  <li class = "nav-header">Facebook Email</li>
						
                  <li><?php echo $_SESSION['EMAIL']; ?></li>
               
                  <div><a href="logout.php">Logout</a></div>
						
               </ul>
					
            </div>
         </div>
         
         <?php else: ?>     <!-- Before login --> 
         
         <div class = "container">
            <h1>Login with Facebook</h1>
            Not Connected
            
            <div>
               <a href = "fbconfig.php">Login with Facebook</a>
            </div>
            
            <div>
               <a href = "http://www.tutorialspoint.com"  
                  title = "Login with facebook">More information about Tutorialspoint</a>
            </div>
         </div>
         
      <?php endif ?>
      
   </body>
</html>

نتایج زیر را تولید می کند. قبل از اینکه این مثال را امتحان کنید، لطفا از حساب کاربری facebook در مرورگر خود خارج شوید.

facebook login

خروج از فیس بوک

کد زیر برای خروج از فیس بوک استفاده می شود.

<?php 
   session_start();.
   session_unset();
   
   $_SESSION['FBID'] = NULL;
   $_SESSION['FULLNAME'] = NULL;
   $_SESSION['EMAIL'] =  NULL;
   header("Location: index.php");        
?>
در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش PHP

Learn PHP

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

سوال شما با موفقیت ثبت شد. برای اینکه بتوانیم به شما اطلاع رسانی کنیم، موارد زیر را وارد کنید:

لطفا چند لحظه منتظر بمانید ...