gpt4 book ai didi

php - 如何验证用户的 Facebook ID 以防止再次重新提交

转载 作者:行者123 更新时间:2023-12-02 19:54:34 25 4
gpt4 key购买 nike

我有一个使用 php 的图片竞赛,允许您输入上传或输入投票。它还只允许一名 Facebook 用户最多向事件上传一张照片。

如何使用 MySQL 数据验证他们的 facebook ID,这样已经提交一次的同一用户(根据 fbID)就无法再次单击“进入竞赛”按钮,并且在单击时,会弹出一个消息框,提示“您已经提交过一次”?

希望大家给点建议。感谢并感谢您花时间帮助我。

最佳答案

只需将 Facebook 用户 ID 与提交的照片一起存储在数据库中即可。

我假设您有一个包含照片数据的表;创建一个新字段来存储 Facebook 用户 ID。然后,当用户访问您的应用程序或其他应用程序时,检查他们的 ID 是否已在数据库中。如果是这样,不要给他们上传表单,而是给他们一条错误消息;如果没有,请允许他们上传。

编辑:查看 Facebook's SDK 。那里应该有示例来获取查看您应用程序页面的用户的详细信息,其中包括 Facebook ID。然后您可以在脚本中使用它。

<?php

require 'facebook.php';

$facebook = new Facebook(array(
'appId' => 'YOUR_APP_ID',
'secret' => 'YOUR_APP_SECRET',
));

$user = $facebook->getUser();

if ($user) {
try {
$user_profile = $facebook->api('/me');
}
catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}

if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
}
else {
$loginUrl = $facebook->getLoginUrl();
echo "<script>top.location.href='$loginUrl';</script>";
exit;
}

// if we're here, the user has successfully authenticated
// you now have access to their profile in $user_profile

$userId = intval($user_profile['id']);

// logic goes here to query database and check if $userId
// has already been used to submit a photo or not

关于php - 如何验证用户的 Facebook ID 以防止再次重新提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8824875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com