Jump to content
vinihhylian0103

Facebook Login

Recommended Posts

Estou com um problema lógico que não consigo resolver, quando e faço login com o facebook com um usuário que não tem o email cadastrado ele retorna a mensagem "usuário não cadastrado",  ao invés disso eu gostaria de poder cadastrar o email desse usuário não cadastrado, alguém pode me ajudar?

 

facebook.php

<?php
session_start();
unset($_SESSION['face_access_token']);
require_once'lib\Facebook\autoload.php';

if(!$conect=mysqli_connect('localhost','root','','cadastros')) 
  die ('erro ao conectar');

$fb = new \Facebook\Facebook([
  'app_id' => '2259759927393128',
  'app_secret' => '8896a104c69194287cc879854a9d8671',
  'default_graph_version' => 'v2.10',
  //'default_access_token' => '{access-token}', // optional
]);

$helper = $fb->getRedirectLoginHelper();
//var_dump($helper);
$permissions = ['email']; // Optional permissions

try {
  if (isset($_SESSION['face_access_token'])) {
  $accessToken = $_SESSION['face_access_token'];
  }
  else{
  $accessToken = $helper->getAccessToken();
  } 
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  // When Graph returns an error
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  // When validation fails or other local issues
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

if (! isset($accessToken)) {
  $url_Login = 'http://localhost/Site(TCC)/facebook.php';
  $loginUrl = $helper->getLoginUrl($url_Login, $permissions);
}
else {
  $url_Login = 'http://localhost/Site(TCC)/facebook.php';
  $loginUrl = $helper->getLoginUrl($url_Login, $permissions);
if (isset($_SESSION['face_access_token'])) {
  $fb->setDefaultAccessToken($_SESSION['face_access_token']); 
}
else {
  $_SESSION['face_access_token'] = (string) $accessToken;
  $oAuth2Client = $fb->getOAuth2Client();
  $_SESSION['face_access_token'] = $oAuth2Client->getLongLivedAccessToken($_SESSION['face_access_token']);
  $fb->setDefaultAccessToken($_SESSION['face_access_token']); 
  }
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get('/me?fields=name, email');
  $user = $response->getGraphUser();
  //var_dump($user);
  $sql = "SELECT * FROM usuarios WHERE email='".$user['email']."' LIMIT 1";
  # Executa a instrução SQL no banco de dados
  $resultado = @mysqli_query($conect, $sql);
  # Verifica o numero de linhas retornadas
  $linhas = mysqli_num_rows($resultado);
  # Direciona o usuário ao menu de opções 
  if($linhas==0) {
  "INSERT INTO usuarios(nome, rm, id_curso, email, senha) 
  VALUES('$user','$user','$user','.$user['email']','$user')"));
  function myAlert($msg, $url){

    echo '<script language="javascript">alert("'.$msg.'");</script>';
    echo "<script>document.location = '$url'</script>";
}
myAlert("Email ou Senha incorretos! Verifique os dados inseridos!", "/SITE(TCC)/CADASTRO/index.html");
}
else{ 
$_SESSION["autenticado"]="rfc822_allowed";
$_SESSION["login"]=$email;
header("Location:/SITE(TCC)/LOGIN/profile.php");
}
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

}

?>
<a href="<?php echo $loginUrl; ?>">Facebook</a>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By ROGERIO MOREIRA
      Olá,
       
      preciso gerar listagem do meu banco de dados mas preciso definir um certo item como cabeça na pesquisa:
       
      ex:
      quero listar meus registros em orderm de:
       
      primeiro ESTADO    (ordem alfabetica)
      depois    CIDADE     (ordem alfabetica)
      depois    BAIRRO,    porém, quero colocar CENTRO em primeiro, depois os outros bairros
       
    • By Sapinn
      Estou usando o editor SummerNote em um projeto mas ele não está enviando os dados com o HTML apenas o texto. Eu estou colocando assim:

               
                                        <textarea id="summernote" class="textarea" required name="content">     <script> $('#summernote').summernote({         tabsize: 2,         height: 500,         toolbar: [           ['style', ['style']],           ['font', ['bold', 'underline', 'clear']],           ['color', ['color']],           ['para', ['ul', 'ol', 'paragraph']],           ['table', ['table']],           ['insert', ['link', 'picture', 'video']],           ['view', ['fullscreen', 'codeview', 'help']]         ]       });           </script>  
       
    • By marcelo.ourico
      Boa noite. Pessoal, mais uma vez aqui pedindo uma ajuda.

      Estou tentando enviar uma NFSe via SOAP.

      Estou recebendo o seguinte erro:

      Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] ERRO : cvc-complex-type.4: Attribute 'Algorithm' must appear on element 'ns2:CanonicalizationMethod'. in

      O meu Array está da seguinte forma:
      Array
      (
      [CanonicalizationMethod] => Array
      (
      [@attributes] => Array
      (
      [Algorithm] => http://www.w3.org/TR/2001/REC-xml-c14n-20010315
      )
      )

      Não entendi o porque desse erro, alguém sabe ajudar?
    • By Sapinn
      Galera estou usando o PHPStorm para alguns projetos e estou com meus arquivos marcados em vermelho não sei oq é alguem pode me ajuda?
       
       

    • By danielambrosio
      Estou trabalhando numa programação PHP é conectado na tabela (cl_configs) para reconhece coluna name que reconhece esses 5 campos.
      e também que adiciona esses 5 valores é adicionado nessa outra tabela (cl_ads_block_ips) nesses 8 coluna (id, ip, clicks, last_click, dads_refresh_qtd, dads_refresh_data, dads_refresh_ldata, clicks_rotativo_dia).
      E a conexão que eu usa era de outro site e não estou tendo problema e configurar em outro site que reconhece essa banco de dados abaixo.
       
      <?php $host = "localhost"; $user = "ads"; $pass = "_CMpFF4Hpa!G_gTh"; $dbname = "ads"; $port = 3306; try {     $conn = new PDO('mysql:host=' . $host . ';port=' . $port . ';dbname=' . $dbname, $user, $pass);     //echo "Conexão com banco de dados realizado com sucesso!"; } catch (PDOException $err) {     echo "Erro: Conexão com banco de dados não foi realizada com sucesso. Erro gerado " . $err->getMessage(); } ?>  
      Conecta com sucesso só não está reconhecendo a tabela (cl_configs) e nem adicionando na tabela (cl_ads_block_ips).
       
       
      Agora não sei porque não esta reconhecendo (cl_configs) e nem adicionando (cl_ads_block_ips).
       
       


×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.