Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
电子邮件未从php中的Facebook id保存到数据库中_Php_Mysql_Facebook_Email - Fatal编程技术网

电子邮件未从php中的Facebook id保存到数据库中

电子邮件未从php中的Facebook id保存到数据库中,php,mysql,facebook,email,Php,Mysql,Facebook,Email,我的电子邮件id未存储在数据库中。我想在我的数据库中存储Facebook用户的详细信息。事实上,我有一个登录页面,用户也可以使用Facebook登录,但问题是我得到了除电子邮件以外的所有详细信息。我需要存储的电子邮件id也在数据库中。请帮助我。任何帮助是感激的。 这是我的密码 <?php require 'facebook/facebook.php'; require 'config/fbconfig.php'; require 'config/functions.php'; $faceb

我的电子邮件id未存储在数据库中。我想在我的数据库中存储Facebook用户的详细信息。事实上,我有一个登录页面,用户也可以使用Facebook登录,但问题是我得到了除电子邮件以外的所有详细信息。我需要存储的电子邮件id也在数据库中。请帮助我。任何帮助是感激的。 这是我的密码

<?php
require 'facebook/facebook.php';
require 'config/fbconfig.php';
require 'config/functions.php';
$facebook = new Facebook(array(
    'appId' => APP_ID,
    'secret' => APP_SECRET,
));
$user = $facebook->getUser();
if ($user) {

    try {       
        // Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me');
    }catch (FacebookApiException $e){

        error_log($e);
        $user = null;
    }
    if(!empty($user_profile )){

        # User info ok? Let's print it (Here we will be adding the login and registering routines)
        $username = $user_profile['name'];
        $uid = $user_profile['id'];
        echo $email = $user_profile['email'];
        $user = new User();
        $userdata = $user->checkUser($uid, 'facebook', $username,$email,$twitter_otoken,$twitter_otoken_secret);
        if(!empty($userdata)){
            session_start();
            $_SESSION['id'] = $userdata['id'];
            $_SESSION['oauth_id'] = $uid;

            $_SESSION['username'] = $userdata['username'];
            $_SESSION['email'] = $email;
            $_SESSION['oauth_provider'] = $userdata['oauth_provider'];
            header("Location: home.php");
        }
    }else{

        # For testing purposes, if there was an error, let's kill the script
        die("There was an error.");
    }
}else{

    # There's no active session, let's generate one
    $login_url = $facebook->getLoginUrl(array( 'scope' => 'email'));
    header("Location: " . $login_url);
}

替换下一行:

$user_profile = $facebook->api('/me');
使用以下代码:

$user_profile = $facebook->api('/me?fields=id,name,first_name,last_name,gender,locale,timezone,email');

这只是一个建议

有时,如果用户不允许访问其在Facebook上的电子邮件id。此时,您将无法获得该用户的电子邮件id

因此,在这种情况下,您可以将用户电子邮件存储为'userid@facebook.com"


用户ID在facebook中对每个用户都是唯一的。因此,您将为每个用户获得唯一的电子邮件id。

插入到表中的
在哪里起作用?几个月前我也遇到过同样的问题。一些facebook用户没有在他们的帐户中输入邮件地址,因为他们使用自己的手机号码在facebook上注册。但我使用的是我的电子邮件id,而不是号码。我使用电子邮件id注册。@manishahaudhary实际上是它的用户id。我已经编辑了我的评论。好的。我理解用户名,因为用户名不是唯一的。是的,我同意你的看法。用户是唯一的。感谢Anup GC的回复,但现在我只收到一封电子邮件。我需要电子邮件、姓名、身份证。请帮帮我。