Visualizzazione risultati 1 fino 10 di 10
Like Tree1Likes
  • 1 Post By radiodelmomento

Discussione: iscrizione via facebook

  1. #1
    Guest

    Angry iscrizione via facebook

    ho scaricato l'sdk di facebook ho completato tutto, quando uno si registra tramite facebook sul mio sito può soltanto accedere solo tramite facebook e non dal form del sito, vorrei fare qualche modifica tipo che prende il nome utente ad esempio www.facebook/nome.utente poi anche la password e dovrà essere criptata con md5, ho provato a cambiarlo ma non funziona, qualche aiuto?
    in pratica quando prende la password e il nome utente, potrà accedere anche su un altro sito... questo lo salverà nel database, poi quando faccio accedi tramite facebook ho un altro problema non me lo salva nel database l'email

    questo è la tabella dell'email e la password
    Codice:
    name="email"
    name="password"
    questo file è chiamato logi-facebook.php
    Codice PHP:
    <?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'];
             
    $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);
    }
    ?>
    fuctions.php
    Codice PHP:
    <?php
    require 'dbconfig.php';
    class 
    User {
        function 
    checkUser($uid$oauth_provider$username,$email,$twitter_otoken,$twitter_otoken_secret)     {        $query mysql_query("SELECT * FROM `users` WHERE oauth_uid = '$uid' and oauth_provider = '$oauth_provider'") or die(mysql_error());        $result mysql_fetch_array($query);        if (!empty($result)) {            # User is already present        } else {            #user not present. Insert a new Record            $query = mysql_query("INSERT INTO `users` (oauth_provider, oauth_uid, username,email) VALUES ('$oauth_provider', $uid, '$username','$email')") or die(mysql_error());            $query = mysql_query("SELECT * FROM `users` WHERE oauth_uid = '$uid' and oauth_provider = '$oauth_provider'");            $result = mysql_fetch_array($query);            return $result;        }        return $result;    }
        
    }
    ?>
    grazie per l'aiuto
    Ultima modifica di alemoppo : 23-05-2014 alle ore 19.56.37 Motivo: +tag [php][code]

  2. #2
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da AmOrEaMiCiZa Visualizza messaggio
    vorrei fare qualche modifica tipo che prende il nome utente ad esempio www.facebook/nome.utente poi anche la password e dovrà essere criptata con md5, ho provato a cambiarlo ma non funziona, qualche aiuto?
    Attimo attimo... non puoi recuperare la password di Facebook di nessuno tramite l'SDK!
    Oppure non ho capito che vuoi fare

  3. #3
    Guest

    Predefinito

    in pratica quando accede sul sito tramite facebook prende tutti i dati che servono, ad esempio nome utente di facebook, l'email e password. deve per forza accedere tramite facebook per entrare nel sito?

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,631

    Predefinito

    Quale password?
    Comunque non capisco: qual'è il vantaggio di accedere mediante Facebook se poi pretendi l'uso di altre credenziali? O permetti l'accesso in un modo o nell'altro, non i entrambi contemporaneamente.

  5. #5
    Guest

    Predefinito

    hai presente quando ti iscrivi tramite facebook con ask.fm? una volta che ti sei registrato con facebook, puoi accedere con la tua password di facebook, nome utente o l'email.. vorrei fare così. senza password non posso entrare nel sito, devo per forza accedere tramite facebook

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,631

    Predefinito

    Ho provato, ma se effettuo la registrazione mediante Facebook posso accedere solamente mediante il relativo pulsante, non posso inserire email e password nel modulo a meno che non specifichi una nuova password (non quella di Facebook!) nelle impostazioni del profilo.
    Quindi, potresti spiegarti meglio?

  7. #7
    Guest

    Predefinito

    quando accedo tramite facebook nel database mi salva sempre questi: username, oauth_uid e oauth_provider. per accedere usa solo queste 3 tabelle e basta

    questa è la tabella

    CREATE TABLE IF NOT EXISTS `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `username` varchar(100) NOT NULL,
    `oauth_uid` varchar(200) NOT NULL,
    `oauth_provider` varchar(200) NOT NULL,
    `data_reg` datetime NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
    Ultima modifica di AmOrEaMiCiZa : 25-05-2014 alle ore 18.58.12

  8. #8
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da AmOrEaMiCiZa Visualizza messaggio
    quando accedo tramite facebook nel database mi salva sempre questi: username, oauth_uid e oauth_provider. per accedere usa solo queste 3 tabelle e basta
    Qual è la domanda?
    Se vuoi sapere come recuperare la password di Facebook, ti ho risposto che non è possibile.
    karl94 likes this.

  9. #9
    Guest

    Predefinito

    ho capito ma se voglio creare un account tramite facebook come dovrei fare? quello che uso io non mi convince tanto

  10. #10
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Quando si ci registra, aggiungi un record contenente informazioni varie sull'utente più il suo ID di Facebook.
    Quando si effettua il login, controlli se l'ID che ti viene restituito da Facebook esiste e, in quel caso, effettui il login con quest'ultimo.

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •