开发者

Sending forms in Facebook applications [closed]

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center. Closed 11 years ago.

Today, my almost finished Facebook application stopped working. I have some sort of a "registration" form in the app for setting the user's in-game nick and similar stuff.

The problem is that upon submitting the form, the Facebook PHP SDK insists that $facebook->getUser() is NULL. My code reacts to this by redirecting the user to $facebook->getLoginUrl(array("scope" => ..., etcetera)). Then, the user is redirected back to my application by Facebook, but, of cours开发者_JAVA百科e, without the data that was posted into the form.

I assume I should probably pass some sort of a hidden element in the form so that the Facebook PHP SDK can do its magic. Could you please tell me how does one use forms in a Facebook app properly?


Okay, so I finally found out that the problem lay in my code - I had a bug in session handling. Sorry for the bashing, Facebook :)


does this work?

$facebook = new Facebook(array(
'appId'  => ... ,
'secret' => ... ,
));
$user = $facebook->getUser();
if (!$user) {
$loginUrl = $facebook->getLoginUrl();
// then redirect to the $loginurl
exit();
}
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:fb="http://www.facebook.com/2008/fbml">
<head>

</head>
<body>
<?php
if (!isset($_POST['my_guess'])) {
?>
pick a number between 1 and 10
<form action="index.php" method="post">
<input type="text" name="my_guess">
<input type="submit">
</form>
<?php
}  else {
print $facebook->getUser()." you picked ".$_POST['my_guess'];
}
?>
</body>
</html>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜