
[英]Integrating facebook php sdk in Facebook Canvas App giving Blank page or oauthData error
[英]Facebook blank canvas page from php if $_COOKIE statement
我正在使用Facebook Php SDK v3.22,我使用JavaScript设置了一个在Php中读取的cookie
由于某种原因,当我使用如下if语句时:
if($_COOKIE['anything'] == 'some_data'){
//do something
}
我的画布页面重定向到空白页面,注销时未捕获任何错误
我在页面信息中看到框架的画布页面中没有cookie,但是由于使用服务器端Php读取cookie以及当我每次将Facebook重定向到空白页面时会感到有些困惑,使用if cookie语句,这很神奇!
我使用JavaScript设置Cookie,如下所示:
<script language="JavaScript" type="text/javascript">
<!--
if (self != top) {;
var onsite = 'true'; document.cookie = 'domainname.com' + "=" + onsite;
}else{
var onsite = 'false'; document.cookie = 'domainname.com' + "=" + onsite;
}
-->
</script>
在页面上使用以下javascript:
<script type="text/javascript">
// Set cookie function
function setCookie(c_name,value,exdays) {
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
// Set the cookie
var onsite = 'false',
domain = 'domainname.com';
if (self != top) {
onsite = 'true';
}
setCookie(domain, onsite);
</script>
您的PHP脚本将如下所示:
<?php
// Test cookie
$domain = 'domainname.com';
if (isset($_COOKIE[$domain])) {
if ($_COOKIE[$domain] == 'true') {
// domainname.com is equal to 'true'
} else {
// domainname.com is NOT equal to 'true'
}
} else {
// cookie is not set yet
}
?>
*请注意,如果您试图在设置cookie之前先读取它,它将无法正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.