如何验证用户的facebook ID以防止再次提交
how to validate the facebook ID of a user to prevent from re-submitting again
我有一个使用php的图片比赛,可以让你输入上传或输入投票。它还最多只允许一个脸书用户上传一张照片到活动中。
我如何用MySQL数据验证他们的facebook ID,这样同一个已经提交过一次的用户(根据fbID)就无法再次点击进入比赛按钮,当点击时,会弹出一个消息框,说"你已经提交了一次"?
希望你们能提出建议。感谢并感谢您一直以来对我的帮助。
只需将Facebook用户ID与提交的照片一起存储在数据库中。
我想你会有一个包含照片数据的表格;创建一个新字段来存储Facebook用户ID。然后,当用户访问你的应用程序或其他什么时,检查他们的ID是否已经在数据库中。如果是这样,不要给他们上传表格,而是一条错误消息;如果没有,请允许他们上传。
编辑:查看Facebook的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
您需要对用户进行身份验证并获取FB cookie。
请参阅FB开发者网站上的文档。
一旦你有了id,你就可以从数据库中提取它,并用它来检查用户是否提交了。
相关文章:
- 表单提交问题,如何在我的URL末尾获得ID的值
- 通过 AJAX 为每个 ID 提交表单
- 提交youtube播放列表id并从id加载播放列表
- Mootools提交表单仅在通过ID选择表单时有效
- Jquery Ajax表单提交:多个表单-相同的按钮id's
- 提交具有动态id的表单的数据
- 提交的启动模式对话框未显示id值
- 点击链接提交表格并发送到多个电子邮件 ID
- 如何根据用于提交的表单的 ID 更改用户消息
- $(id).submit() 不会触发表单提交
- 以编程方式单击 UIWebView 中的“提交”按钮(无元素 ID、名称、类或标记)
- 使用 ajax 提交文本框的 id 和值
- 如果 ID 消失,提交按钮工作
- PHP 根据不同的 id/URL 在提交时重定向
- 通过javascript启用两个具有相同ID的提交按钮
- 使用AJAX按ID提交多个表单
- 防止在jQuery中通过ID提交表单
- 在jquery中使用表单id提交多个表单
- 按id提交表单的函数
- ajax表单只向第一个id提交空白描述