- PHP教程
- PHP-主页
- PHP - 简介
- PHP-环境设置
- PHP - 语法概述
- PHP - 变量类型
- PHP - 常量
- PHP - 运算符类型
- PHP - 决策
- PHP - 循环类型
- PHP-数组
- PHP-字符串
- PHP - 网络概念
- PHP - 获取和发布
- PHP - 文件包含
- PHP - 文件和 I/O
- PHP - 函数
- PHP-Cookie
- PHP-会话
- PHP - 发送电子邮件
- PHP-文件上传
- PHP - 编码标准
- 高级PHP
- PHP - 预定义变量
- PHP-正则表达式
- PHP - 错误处理
- PHP - 错误调试
- PHP - 日期和时间
- PHP 和 MySQL
- PHP 和 AJAX
- PHP 和 XML
- PHP——面向对象
- PHP - 面向 C 开发人员
- PHP - 适合 PERL 开发人员
- PHP 表单示例
- PHP-表单介绍
- PHP - 验证示例
- PHP - 完整表格
- PHP框架作品
- PHP-框架工程
- PHP - 核心 PHP 与 Frame Works
- PHP 设计模式
- PHP - 设计模式
- PHP 函数参考
- PHP - 内置函数
- PHP 有用资源
- PHP - 问题与解答
- PHP - 有用的资源
- PHP - 讨论
PHP - Facebook 登录
我们可以使用 Facebook 登录来允许用户访问网站。本页将向您解释如何使用 facebook PHP SDK 登录。
使用 Facebook 登录
需要访问https://developers.facebook.com/apps/并单击“添加新组”按钮来创建应用程序 ID。
选择网站
指定应用程序名称并单击“创建新 Facebook 应用程序 ID”
单击创建应用程序 ID
单击“跳过快速测试”
在最后阶段,它将显示如下图所示。
fbconfig.php 文件概述
现在打开 fbconfig.php 文件并添加您的应用程序 ID 和应用程序 Secrete
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 Facebook\FacebookSession; use Facebook\FacebookRedirectLoginHelper; use Facebook\FacebookRequest; use Facebook\FacebookResponse; use Facebook\FacebookSDKException; use Facebook\FacebookRequestException; use Facebook\FacebookAuthorizationException; use Facebook\GraphObject; use Facebook\Entities\AccessToken; use Facebook\HttpClients\FacebookCurlHttpClient; use Facebook\HttpClients\FacebookHttpable; // 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"); ?>
索引.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
下面的代码用于注销 Facebook。
<?php session_start();. session_unset(); $_SESSION['FBID'] = NULL; $_SESSION['FULLNAME'] = NULL; $_SESSION['EMAIL'] = NULL; header("Location: index.php"); ?>