Php 将POST参数添加到fb:login按钮
你好,当用户单击“使用facebook登录”按钮时,我正在尝试设置帖子。。这是因为在我编写的代码中,如果您已注销,但在facebook中登录,那么您将自动再次登录该站点。。。所以如果你退出,你永远不会退出 为了避免这种情况,我试图设置一个帖子,设置一个经典的条件Php 将POST参数添加到fb:login按钮,php,javascript,facebook,Php,Javascript,Facebook,你好,当用户单击“使用facebook登录”按钮时,我正在尝试设置帖子。。这是因为在我编写的代码中,如果您已注销,但在facebook中登录,那么您将自动再次登录该站点。。。所以如果你退出,你永远不会退出 为了避免这种情况,我试图设置一个帖子,设置一个经典的条件 if ( isset ($_POST['fbconnect'])) 我只需要添加一个隐藏的输入并发送表单usinf fb:login按钮 这是我试过的。。没有运气 <form name="fbconnect" method
if ( isset ($_POST['fbconnect']))
我只需要添加一个隐藏的输入并发送表单usinf fb:login按钮
这是我试过的。。没有运气
<form name="fbconnect" method="post">
<input type="hidden" name="fbconnect" value="fbconnect" />
<div id="fb-root"></div>
<fb:login-button scope='email,user_birthday'></fb:login-button></form>
<?php
}
?>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : <?=YOUR_APP_ID?>,
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
FB.Event.subscribe('auth.login', function(response) {
// ------------------------------------------------------
// This is the callback if everything is ok
$(this).parents('form').submit();
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
更好的做法是在用户注销时使用重定向,而不是POST,即: HTML: 如果您坚持要发布帖子,可以使用jQuery简化内容:
FB.Event.subscribe('auth.login', function(response) {
$.post("index.php", {fbconnect: fbconnect}, function(data, response) {
alert(data);
});
});
更好的做法是在用户注销时使用重定向,而不是POST,即: HTML: 如果您坚持要发布帖子,可以使用jQuery简化内容:
FB.Event.subscribe('auth.login', function(response) {
$.post("index.php", {fbconnect: fbconnect}, function(data, response) {
alert(data);
});
});
很抱歉,也许你的回答很好,但我真的是javascript的noob,这就是为什么我最终尝试了php解决方案,我也在一个代码中实现了这一点,我无法触摸注销设置,并且基于cookies,我只是根据cookies创建一个条件,看看它是否登录。。。。如果你告诉我如何使用该脚本,或者真的像复制粘贴那样简单,我会尝试这两种方法,非常感谢(我担心会弄乱当前注销,我不能弄乱当前注销)第二种解决方案我阻止了一个带有原点“”的帧访问带有原点“”的帧。请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。您的第一个建议有效,但请!!回答这个问题,我只需要用我的网站状态以及facebook状态response.status!=“连接”。。。但是我在Javascript方面是个傻瓜。。如果我没有条件,这会产生一个loop@JulesMartinez我已经更新了代码,请检查它(没有当前的用户id)对不起,也许你的答案很好,但我真的是一个javascript高手,这就是为什么我最终尝试php解决方案的原因,我在一个代码中实现了这一点,我无法触摸注销设置,并且基于cookies,我只是根据cookies设置一个条件,看看它是否已登录。。。。如果你告诉我如何使用该脚本,或者真的像复制粘贴那样简单,我会尝试这两种方法,非常感谢(我担心会弄乱当前注销,我不能弄乱当前注销)第二种解决方案我阻止了一个带有原点“”的帧访问带有原点“”的帧。请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。您的第一个建议有效,但请!!回答这个问题,我只需要用我的网站状态以及facebook状态response.status!=“连接”。。。但是我在Javascript方面是个傻瓜。。如果我没有条件,这会产生一个loop@JulesMartinez我已经更新了代码,请检查(没有当前用户id)
FB.Event.subscribe('auth.authResponseChange', function(response) {
if (response.status == "connected") {
// log in login
}
else if (response.status != "connected") {
// logout logic, i.e
// location.href = "/sessions/logout";
alert("User has disconnected")
location.href = "/index.php?fbconnect=fbconnect"
}
});
FB.Event.subscribe('auth.login', function(response) {
$.post("index.php", {fbconnect: fbconnect}, function(data, response) {
alert(data);
});
});