在yii中使用facebook数据


use facebook data in yii

我正试图从一个使用yii框架注册facebook的用户那里获取数据,我不知道我为什么想要,我已经获取了它,但我想知道如何从facebook.js类中获取每个数据,并将其放置在influenza_info.php类中的隐藏类型中。如何从facebook.js类获取数据

这是我的facebook.js

window.fbAsyncInit = function() {
    FB.init({
      appId      : '************',
      xfbml      : true,
      version    : 'v2.5'
    });
  };
  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
  function getInfo() {
  FB.login(function(){
      // Note: The call will only work if you accept the permission request
      FB.api('/me', {fields: 'last_name, first_name, picture, email, friends, birthday, age_range, location'}, function(response) {
          console.log(response);
                  $('fb_firstname').val(response.first_name);
        });
    }, {scope: ''});
  }

这是我的influenza_info.php

<?php
use yii'helpers'Html;
use yii'widgets'ActiveForm;
$module = $this->context->module;
$this->registerJsFile(Yii::$app->request->baseUrl. '/js/facebook.js');
$this->title = Yii::t('user', 'Influenza Information', ['position' => $this::POS_BEGIN]);
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="container">
 <h1><?= Html::encode($this->title) ?></h1>
<?php if ($flash = Yii::$app->session->getFlash("Register-success")): ?>
<div class="alert alert-success">
<p><?= $flash ?></p>
</div>
 <?php endif; ?>
    <?php $form = ActiveForm::begin([
        'id' => "example-advanced-form",
    ]); ?>
    <h3>Finish</h3>
    <fieldset>
<legend>Terms and Conditions</legend>
<input id="acceptTerms-2" name="acceptTerms" type="checkbox" class="required"> <label for="acceptTerms-2">I agree with the Terms and Conditions.</label>
    </fieldset>
<?php ActiveForm::end(); ?>
</div>

我想从js中获取名字,并将其放在字段集中influenza_info.php中的标签中。我该怎么做

您必须将其存储在某个地方。例如,您可以编写需要cookie的信息,这样您就可以从PHP:中读取

js:

FB.api('/me', {fields: 'last_name, first_name, picture, email, friends, birthday, age_range, location'}, function(response) {
    document.cookie = "fbLastName=" + response.last_name;
});

php:

$form->input($model, 'last_name', ['value' => Yii::app()->request->cookies['fbLastName']->value]);

但最好将与用户相关的数据存储在用户模型中。