2013-08-19 104 views
0
<?php 
require "facebook.php"; 

$facebook = new Facebook(array(
    'appId' => '[email protected]@@@@@@@@@', 
    'secret' => '[email protected]@@@@@@@@@@@@@@@@@', 
)); 

$user = $facebook->getUser(); 

if ($user) { 
    try { 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    $user = null; 
    } 
} 
?> 
<?php if ($user): ?> 
    <form action="#" method="get"> 
     NAME: <input type="text" name="name" 
      value="<?php echo $user_profile['name'] ?>"><br> 
     KID'S NAME <input type="text" name="kid"><br> 
     DOB <input type="text" name="kid" value="<?php echo $user_profile['birthday'] ?>"><br> 
     ADDRESS <input type="text" name="kid" value="<?php echo $user_profile['email'] ?>"><br> 

     KID'S GENDER 
     male<input type="radio" name="r" value="male">  
     female <input type="radio" name="r" value="male"> <br>  
    EMAIL: <input type="text" name="name" 
      value="<?php echo $user_profile['email'] ?>"><br> 
     <input type="submit" value="Continue &rarr;"> 
    </form> 
    <a href="<?php echo $facebook->getLogoutUrl() ?>"> 
     Logout of Facebook 
    </a> 
<?php else: ?> 
    <a href="<?php echo $facebook->getLoginUrl() ?>"> 
     Login with Facebook 
    </a> 
<?php endif ?> 

我已經創建了應用程序,並且我有應用程序ID和密鑰。現在我需要每當新用戶點擊登錄頁面時,它會預先填寫表單頁面,但是當我登錄時,它只顯示我的詳細信息,並且當其他用戶登錄時,它什麼都沒顯示使用oauth的facebook登錄

回答

2

它顯示您的信息,因爲您創建了該應用程序,並且您自動獲得了許可。

對於其他人,您需要先獲得您的應用程序的許可。

你應該做的第一件事情是這樣的:

$params = array(
    'scope' => 'read_stream,publish_stream', 
    'redirect_uri' => 'https://www.myapp.com/login_approved.php' 
); 
$url = $facebook->getLoginUrl($params); 
echo '<a href="' . $url . '">Give My App Access!</a>'; 

然後創建login_approved.php或要處理時,有人批准您的應用程序會發生什麼任何網頁。最值得注意的是它應該記錄用戶的訪問令牌。您需要爲用戶的訪問令牌提供您的應用的訪問令牌以獲取他們的信息。

+0

請你可以在我的代碼中解釋我。我第一次使用這段代碼。我將需要名稱,生日,電子郵件 –

+0

請你可以在我的代碼中解釋 –