我正在使用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,它将无法真正起作用。