Ajuda para armazenar dados do Facebook no MySQL

  • Autor Autor Jesús Rojas
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Jesús Rojas

Jesús Rojas

1
Zeta
Verificación en dos pasos activada
Suscripción a IA
Hola, estoy haciendo una web en la cual eh usado la Api de facebook para poder iniciar sesion en la web.

Al usar el inicio de sesión, sin almacenar datos, la web funciona bien.

Pero cuando quiero almacenar los datos que obtengo de facebook como es : nombre, email y su id. Dichos datos no se guardan en mi base de datos.

Quisiera saber si alguien me podría ayudar con algunos tutoriales algo actualizados, pues eh busco en internet y eh encontrado tutos del 2012.

Aca dejo mi codigo, quizas hice algo mal.

PHP:
<?php

session_start();

require './config/facebook.php';
require './compose/vendor/autoload.php';

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\GraphUser;
use Facebook\GraphObject;
use Facebook\FacebookRequestException;

FacebookSession::setDefaultApplication($config['app_id'], $config['app_secret']);
$helpder = new FacebookRedirectLoginHelper('http://localhost/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();

        $id = $graphObjectClass->getId();
        $image = 'https://graph.facebook.com/' . $id . '/picture?width=3000&&height=3000';

        $mysqli = new mysqli($host, $user, $pass, $bd);
        $query = $mysqli->query("SELECT facebook_id FROM usuario WHERE facebook_id='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(['email']);
            //Insertamos en la BD
            $insert_user = $mysqli->query("INSERT INTO usario (username,email,faccebook_id) VALUES ('$name','$email','$facebook_id')");
        }        
    endif;
} catch (Exception $exc) {
    
}


Gracias 🙂
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Pues yo veo dos errores, la primer query, que no debería ser así:
PHP:
$query = $mysqli->query("SELECT facebook_id FROM usuario WHERE facebook_id='$id'");

Y la segunda query solo la estás definiendo la variable, creo que debería quedar así:
PHP:
$mysqli->query("INSERT INTO usario (username,email,faccebook_id) VALUES ('$name','$email','$facebook_id')");

Además de que intentas insertar a "faccebook_id", no sé si te equivocaste en el ejemplo o así lo tienes XD

- - - Actualizado - - -

y también usario :topsy_turvy:😕:s
 
Pues yo veo dos errores, la primer query, que no debería ser así:
PHP:
$query = $mysqli->query("SELECT facebook_id FROM usuario WHERE facebook_id='$id'");

Y la segunda query solo la estás definiendo la variable, creo que debería quedar así:
PHP:
$mysqli->query("INSERT INTO usario (username,email,faccebook_id) VALUES ('$name','$email','$facebook_id')");

Además de que intentas insertar a "faccebook_id", no sé si te equivocaste en el ejemplo o así lo tienes XD

- - - Actualizado - - -

y también usario :topsy_turvy:😕:s

Gracias por la ayuda, eh arreglado algunas cosas pero seguia sin dar resultado, y aun no puedo insertar los datos en mi BD.
 
Última edição:
Voltar
Topo