• User Newbie

    Registrazione utenti con facebook

    Chi mi fa un favore grande grande?
    Non riesco a modificare il codice in modo tale da inserire i dati nel mio database MySQL. C'è qualcuno di buona volontà che mi possa dare una mano?:rollo: Grazie mille anticipate💋 [PHP]
    <?php
    //Sostituire alle XXXXXXXXXXXX i dati della propria applicazione
    define('FACEBOOK_SECRET', 'XXXXXXXXXXXX', true);
    define('FACEBOOK_ID', 'XXXXXXXXXXXX', true);

    function parse_signed_request($signed_request, $secret) {
    list($encoded_sig, $payload) = explode('.', $signed_request, 2);

    // decodifico i dati
    $sig = base64_url_decode($encoded_sig);
    $data = json_decode(base64_url_decode($payload), true);

    if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
    error_log('Algoritmo sconosciuto. Ci aspettiamo HMAC-SHA256');
    return null;
    }

    // verifico la firma digitale
    $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
    if ($sig !== $expected_sig) {
    error_log('Firma digitale non corretta!');
    return null;
    }

    return $data;
    }

    function base64_url_decode($input) {
    return base64_decode(strtr($input, '-_', '+/'));
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    ".w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns=".w3.org/1999/xhtml" lang="it" xml:lang="it" xmlns:fb=".facebook.com/2008/fbml">
    <head>
    <title>
    Registration plug-in
    </title>
    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
    </head>
    <body style="font-family:verdana;">
    <div style="width: 600px;margin-left:auto;margin-right: auto;">

     <?php if (isset($_REQUEST['signed_request'])) { 
              $response = parse_signed_request($_REQUEST['signed_request'], FACEBOOK_SECRET); ?>
    
      <h2>
        Registration plug-in
      </h2>
      <p>
        <em>Questi sono i dati che sono stati indicati nel modulo di registrazione</em>
      </p>
      <p>
        Nome e cognome: <?=$response["registration"]["name"];?>
        </p>
      <p>
        Email: <?=$response["registration"]["email"];?>
        </p>
      <p>
        Nome: <?=$response["registration"]["first_name"];?>
        </p>
      <p>
        Cognome: <?=$response["registration"]["last_name"];?>
        </p>
      <p>
        Sesso: <?php if ($response["registration"]["gender"] == 'male') echo 'Uomo'; if ($response["registration"]["gender"] == 'female') echo 'Donna' ?>
      </p>
      <p>
        Mese di nascita: <?=preg_replace('/(\d{1,2})\/(\d{1,2})\/(19|20)(\d{2})/', '\2', $response["registration"]["birthday"]);?>
        </p>
      <p>
        Giorno di nascita: <?=preg_replace('/(\d{1,2})\/(\d{1,2})\/(19|20)(\d{2})/', '\1', $response["registration"]["birthday"]);?>
        </p>
      <p>
        Anno di nascita: <?=preg_replace('/(\d{1,2})\/(\d{1,2})\/(19|20)(\d{2})/', '\3\4', $response["registration"]["birthday"]);?>
        </p>
    

    </div>

    <?php //Se non sono presenti i dati visualizzo il modulo di registrazione di FB
    } else { ?>

    <h2>Registration plug-in</h2>
    <fb:registration
    fields="name,email,first_name,last_name,gender,birthday"
    width="450">
    </fb:registration>
    </div>
    <div id="fb-root"></div>
    <script type="text/javascript">
    window.fbAsyncInit=function(){FB.init({appId:"<?=facebook_id?>",status:true,cookie:true,xfbml:true})};(function(){var a=document.createElement("script");a.async=true;a.src=document.location.protocol+"//connect.facebook.net/it_IT/all.js";document.getElementById("fb-root").appendChild(a)})();
    </script>

    <?php } ?>

    </body>
    </html>
    [/PHP]