У меня есть форма регистрации на моем сайте, где пользователи отправляют свои личные данные, такие как имя, идентификатор электронной почты, номер телефона и номер мобильного телефона, для хранения в моей базе данных. Теперь я в идее включить связаться с кнопкой Facebook,,Используя эту ссылку, пользователь может предоставить свои данные, войдя в свою учетную запись. эти детали могут быть сохранены в моей базе данных. мои ожидания выглядят как это изображение .. помогите мне реализовать это
Во-первых, вам нужно решить, хотите ли вы использовать PHP или JavaScript для Facebook SDK. Затем загрузите SDK с:
https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.2
Вот руководство «Начало работы» для PHP:
https://developers.facebook.com/docs/php/gettingstarted/4.0.0
И вот то же самое руководство для JavaScript:
https://developers.facebook.com/docs/javascript
Вот часть моего кода для входа в Facebook, написанная на PHP. Обратите внимание, что я использую CodeIgniter в качестве каркаса для моего проекта:
public function registerWithFacebook()
{
try {
// Proceed knowing you have a logged in user who's authenticated
$facebook_user_data = $this->facebook->get_user();
} catch (FacebookApiException $e) {
$user = null;
print_r($e);
return false;
}
// if we don't have the facebook-user array variable, leave the method
if (!$facebook_user_data) {
return false;
}
// If we can't get the email, leave the method
if(!$facebook_user_data['email']) {
return false;
}
// If user is already registered with Facebook, start sessions and redirect user to app home page (exit the method at this point)
if ($this->facebook_model->facebookUserIdExistsAlreadyInDatabase($facebook_user_data)) {
$session = $this->user_model->getUserInfo($facebook_user_data['id']);
$data = array(
'user_id' => $session['user_id'],
'name' => $session['name'],
'email' => $session['email'],
'profilepic' => $session['profilepic'],
'loggedin' => true,
);
$this->session->set_userdata($data);
redirect(base_url().'home');
exit();
}// Generate password for new user since you can't get the password from Facebook (obviously)
$generated_password = random_string('alnum', 8);
$data = [
'email' => $facebook_user_data['email'],
'name' => $facebook_user_data['name'],
'password' => $this->phpass->hash($generated_password),
'profilepic' => 'https://graph.facebook.com/'.$facebook_user_data['id'].'/picture?width=160&height=160',
'user_facebook_id' => $facebook_user_data['id'],
];// Insert data to your database
$new_user = $this->facebook_model->add_facebook_user($data);
// If new user's data was saved successfully to database, start sessions and redirect user
if($new_user) {
$session = $this->user_model->getUserInfo($facebook_user_data['id']);
$data = array(
'user_id' => $session['user_id'],
'name' => $session['name'],
'email' => $session['email'],
'profilepic' => 'https://graph.facebook.com/'.$facebook_user_data['id'].'/picture?width=160&height=160',
'loggedin' => true,
);
$this->session->set_userdata($data);
redirect(base_url().'home');
}
}
Других решений пока нет …