2015-06-08 65 views
0

我使用cURL創建了一個Facebook登錄類型代碼,並且我想知道如何在成功登錄Facebook後重定向回我的網站。代碼如下所示:cURL成功後PHP代碼重定向

<?PHP 
    $login_email = '****'; 
    $login_pass = '****'; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, 'https://www.facebook.com/login.php'); 
    curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($login_email).'& pass='.urlencode($login_pass).'&login=Login'); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt"); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"); 
    curl_setopt($ch, CURLOPT_REFERER, "http://www.facebook.com"); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
    $page = curl_exec($ch) or die(curl_error($ch)); 

    echo $page; 
?> 
+1

這不是捲曲的工作。 'if(curl succeeds){header('Location:...'); }' –

+1

爲什麼你需要重定向?您的服務器是執行登錄的服務器。用戶永遠不會離開您的域名。 – Halcyon

回答

0

首先,您不必使用cURL登錄到Facebook。 Facebook提供its own API.

您可以檢查該API中的$session變量是否成功,然後調用標頭方法。另請參閱:FaceBookRedirectLoginHelper

如果你正在尋找重定向,使用header()function

<?php 
header("Location: http://www.example.com/"); /* Redirect browser */ 

/* Make sure that code below does not get executed when we redirect. */ 
exit; 
?>