Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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用户数据发送到数据库_Php_Ajax_Facebook_Facebook Javascript Sdk - Fatal编程技术网

Php 无法将facebook用户数据发送到数据库

Php 无法将facebook用户数据发送到数据库,php,ajax,facebook,facebook-javascript-sdk,Php,Ajax,Facebook,Facebook Javascript Sdk,我有一个facebook应用程序,我需要获取用户的ID、姓名、电子邮件以及他提交给数据库的输入值。由于某种原因,我不知道数据没有被发送。我已经尝试回显saveuser.php中的变量,但只得到了输入值。我也没有在控制台中得到任何错误。我怀疑这与AJAX功能有关: 编辑: FB.login(function(response) { console.log(response); if (response.status=="connected") { con

我有一个facebook应用程序,我需要获取用户的ID、姓名、电子邮件以及他提交给数据库的输入值。由于某种原因,我不知道数据没有被发送。我已经尝试回显saveuser.php中的变量,但只得到了输入值。我也没有在控制台中得到任何错误。我怀疑这与AJAX功能有关:

编辑:

FB.login(function(response) 
{
    console.log(response);
    if (response.status=="connected") 
    {
        console.log("You're logged in");
        FB.api('/me', function(response) 
        {
           $.ajax({
                type: 'POST',
                url: 'saveuser.php',
                data: {
                        name = response.name,
                        fbid = response.id,
                        email = response.email
                      };
                 });
        }); 
    } 
});
 require('config.php');

if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['fbid'])) 
{
   $fbid = mysql_real_escape_string($_POST['fbid']);
   $name = mysql_real_escape_string($_POST['name']);
   $email = mysql_real_escape_string($_POST['email']);
   $receipt = mysql_real_escape_string($_POST['receipt']);
   addUser($name, $email, $fbid, $receipt);
}

function addUser($name, $email, $fbid, $receipt) 
{
   $query = "SELECT id FROM rkiosk_monster_users WHERE fbid = '$fbid' LIMIT 5";
   $result = mysql_query($query);
   $rows = mysql_num_rows($result);
   if ($rows == 0) 
   {
      $query = "INSERT INTO rkiosk_monster_users (name, email, fbid, receipt)  VALUES ('$name', '$email', '$fbid', '$receipt')";
   }
   mysql_query($query);
}
saveuser.php:

FB.login(function(response) 
{
    console.log(response);
    if (response.status=="connected") 
    {
        console.log("You're logged in");
        FB.api('/me', function(response) 
        {
           $.ajax({
                type: 'POST',
                url: 'saveuser.php',
                data: {
                        name = response.name,
                        fbid = response.id,
                        email = response.email
                      };
                 });
        }); 
    } 
});
 require('config.php');

if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['fbid'])) 
{
   $fbid = mysql_real_escape_string($_POST['fbid']);
   $name = mysql_real_escape_string($_POST['name']);
   $email = mysql_real_escape_string($_POST['email']);
   $receipt = mysql_real_escape_string($_POST['receipt']);
   addUser($name, $email, $fbid, $receipt);
}

function addUser($name, $email, $fbid, $receipt) 
{
   $query = "SELECT id FROM rkiosk_monster_users WHERE fbid = '$fbid' LIMIT 5";
   $result = mysql_query($query);
   $rows = mysql_num_rows($result);
   if ($rows == 0) 
   {
      $query = "INSERT INTO rkiosk_monster_users (name, email, fbid, receipt)  VALUES ('$name', '$email', '$fbid', '$receipt')";
   }
   mysql_query($query);
}

任何帮助都将不胜感激

我使用jQuery解决了这个问题:

  FB.api('/me', function(response) {

   //alert(response.name);
   $("#name").val(response.name);
   $("#fbid").val(response.id);
   $("#email").val(response.email);

  }); 

   $(function(){
    $("#check").submit(function(e){    
       e.preventDefault();  

        $.post("saveuser.php", $("#check").serialize(),
            function(data){
                var jqueryObj = $('<p>You've been registered!</p>').appendTo('#alertbox');
                $("#checknumber").val("");
            }, "json");    
        });
});
FB.api('/me',函数(响应){
//警报(response.name);
$(“#name”).val(response.name);
$(“#fbid”).val(response.id);
$(“#email”).val(response.email);
}); 
$(函数(){
$(“#检查”)。提交(功能(e){
e、 预防默认值();
$.post(“saveuser.php”,$(“#检查”).serialize(),
功能(数据){
var jqueryObj=$(“您已经注册了!

”).appendTo(“#alertbox”); $(“#支票号码”).val(“”); }“json”); }); });
通过使用隐藏输入,我可以提交它们的值:

   <input type="hidden" name="fbid" id="fbid"/>
   <input type="hidden" name="email" id="email"/>
   <input type="hidden" name="name" id="name"/>

虽然不是最干净的方式,但我无法让AJAX操作正常工作