Todo esta bien cuando inicio sesion, sin la necesidad de registrar los datos(permisos obtenidos con la API de fb) en la bd.
Ahora mi problema surge cuando intento almacenar esos datos obtenidos en mi BD.
No logro que se registren. Este es mi código, quizás hice algo mal.
Código PHP:
<?php
session_start();
require './config/facebook.php';
require './compose/vendor/autoload.php';
use FacebookFacebookSession;
use FacebookFacebookRedirectLoginHelper;
use FacebookFacebookRequest;
use FacebookFacebookResponse;
use FacebookGraphUser;
use FacebookGraphObject;
use FacebookFacebookRequestException;
FacebookSession::setDefaultApplication($config['app_id'], $config['app_secret']);
$helpder = new FacebookRedirectLoginHelper('http://localhost/Apuesta/start.php');
try {
$session = $helpder->getSessionFromRedirect();
if ($session):
$_SESSION['facebook'] = $session->getToken();
header('Location: index.php');
endif;
if (isset($_SESSION['facebook'])):
$session = new FacebookSession($_SESSION['facebook']);
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
$graphObjectClass = $response->getGraphObject(GraphUser::className());
$name = $graphObjectClass->getName();
$facebook_id = $graphObjectClass->getId();
$image = 'https://graph.facebook.com/' . $facebook_id . '/picture?width=3000&&height=3000';
$query = $con->query("SELECT facebook_id FROM usuario WHERE facebook_id='$facebook_id'");
if ($query->num_rows > 0) {
//El usuario ya existe
} else {
//El usuario no existe
$facebook_id = $graphObjectClass->getId();
$name = $graphObjectClass->getName();
$email = $graphObjectClass->getEmail();
//Insertamos en la BD
$insert_user = $con->query("INSERT INTO usuario (username,email,faccebook_id) VALUES ('$name','$email','$facebook_id')");
}
endif;
} catch (Exception $exc) {
}