我不确定我是否正确标记了我的标题,但我被告知下面的代码不起作用,因为浏览器窗口不会在提交更新内容的表单时重新加载(它位于shadowbox内)。如何更改以下PHP代码,以便它“轮询”该网站的更新变量
<?php
if(isset($_SESSION['contentupdated'])) {
unset($_SESSION['contentupdated']);
echo 'window.location.reload();';
}
?>
我怎么会写PHP代码基于上面的代码是“民意调查”的网站,看看是否变量$_SESSION['contentupdated']
设置?下面,我将粘贴我正在尝试使用的完整shadowbox代码。更新的代码将替换JavaScript代码中的PHP代码。这样关闭shadowbox后,网站将轮询该网站,看看是否有更新的代码(至少这是我的目标)。
有人告诉我必须轮询该网站以检查更新,但我搜索了Google,但无法找到解决方案,因为所有结果都显示为“如何创建网站轮询”。
<script>
Shadowbox.init({
onOpen: onShOpen,
onClose: onShClose,
});
function onShOpen() {
document.body.style.overflow = "hidden";
return true;
}
function onShClose() {
document.body.style.overflow = "auto";
<?php
if(isset($_SESSION['contentupdated'])) {
unset($_SESSION['contentupdated']);
echo 'window.location.reload();';
}
?>
return true;
}
</script>
有什么建议吗?
问题是,我被告知会话变量是在页面加载时设置的,所以当页面没有在更新时(shadowbox刚刚关闭)重新加载时,问题发生回到它后面的页面。所以我被告知我需要轮询站点以获取变量 – kdjernigan 2013-03-22 17:29:49
的更新。是!在向浏览器写入内容之前(使用echo或启动html时),应该放置此代码。会话变量正在使用cookie - 所以它们可以在php页面的任何地方设置,只要你没有向浏览器输出任何内容(那么你将得到头已经发送 - 导致cookie在头中传输) – Adidi 2013-03-22 17:37:22
页面已经加载,用户点击他们想要更新的部分,一个shadowbox打开editcontent.php页面,他们编辑内容,点击更新,然后关闭框。 shadowbox后面的页面不会重新加载。我需要在shadowbox后面的页面来验证是否设置了变量$ _SESSION ['contentupdated']。这就是为什么我上面的标准代码不起作用。我需要一个服务器友好的方式来检查这一点。 – kdjernigan 2013-03-22 17:41:11