【发布时间】:2017-07-19 15:42:31
【问题描述】:
我目前正在尝试制作特定的广告块。我的代码在下面。
<?php
session_start();
$isLayout = 0;
if(isset($_REQUEST['layout']) && ($_REQUEST['layout'] == 'source1')){
$isLayout = 1;
$_SESSION["isLayout"] = 1; }
所以目前,这是读取 URL 参数,如果 ?layout=source1 附加到 URL 的末尾,具体的更改将显示在网站上。我实现这一目标的代码如下。
<?php
if($isLayout == 0){
echo 'nothing';
}else{
echo 'magic that's only to be seen if users come to website from source 1'
}
?>
所以目前,我让代码在用户访问的第一页上工作。但是,当该用户访问网站的其他页面时,即使它们来自 source1,布局也会恢复为默认值。我想确保他们网站的更改在用户在网站上的整个会话中是一致的,而不仅仅是第一页。
【问题讨论】:
-
第 1 步:启用正确的 PHP 错误报告,以便 PHP 可以告诉您正在犯的错误。在这种情况下,您会收到一条错误消息,指出后续页面上没有
$isLayout变量。您需要从放置它的位置读取此值 - session. -
这就是我想要弄清楚的。我如何存储 $isLayout 以便在后续页面上读取它?
-
您已将值存储到会话中,因此这当然也是您再次读取它的地方...
-
谢谢@CBroe。现在可以使用了!
-
实际上.. 更新... 我的网站已启用缓存。因此,如果两个用户同时浏览该站点,则首先访问该页面的用户最终确定了页面的布局。除了禁用缓存还有什么办法解决这个问题?
标签: if-statement parameters request session-storage