【问题标题】:Saving PHP Variables To Be Used On Many Pages保存要在许多页面上使用的 PHP 变量
【发布时间】: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


【解决方案1】:

您可以使用 $_COOKIE 来存储信息。 或者您可以在单独的文档中定义该变量,并在您需要的文档中使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 2013-06-15
    • 1970-01-01
    相关资源
    最近更新 更多