【问题标题】:PHP setcookie function not being set on wordpress splash page implementation未在 wordpress 启动页面实现上设置 PHP setcookie 函数
【发布时间】:2013-04-19 03:53:34
【问题描述】:

所以我试图在 wordpress 网站上实现一个启动页面。我环顾四周并阅读了有关如何使用 PHP 进行操作的信息。启动页面的想法是将尚未查看该站点的人重定向到鼓励他们捐赠的启动页面。该页面已经设置为我正在制作启动页面的静态主页。这里提供的是我为 cookie 提供的代码,由于某种原因,当我进入我的 chrome 设置并检查是否正在写入 cookie 时,它​​没有显示出来。

<?php
  if((strpos($_SERVER['HTTP_REFERER'], get_bloginfo('home')) === false)  && !$_SERVER['QUERY_STRING'] && $_COOKIE["CookieName"] != 'true') :
  setcookie("CookieName", 'true', time() + 3600*24*15, "/~user/");
?>
//splash page code
<?php else : ?> //theme code <?php endif; ?>

else 条件是主题创建的主页的信息。该站点的 URL 格式为 siteIP/~user/。如果你们有一些反馈,将不胜感激。另外,如果您可以提供一个来源,以便我可以阅读它,那也将不胜感激。感谢您的宝贵时间。

【问题讨论】:

  • “启动页面的想法是将尚未查看该网站的人重定向到鼓励他们捐款的启动页面。”根本不是答案,但您确定要惹恼您的访客吗?
  • 我愿意在Warning: Cannot Modify Header Information - Headers Already Sent 上花钱,因为在到达代码中的这一点之前,您已经输出了一些数据。我这么说是因为&lt;?php ?&gt; 标签的随机混杂散布在整个代码中。
  • 您启用了error reporting 对吗?
  • 这是一位恰好是政治家的客户提出的要求。因此,如果您是第一次访问该网站,他们希望它能够进入启动页面。有一个选项可以跳到启动页面上的站点。
  • @DaveRandom 我删除了设置 cookie 的 &lt;?php ?&gt; 标记,这根本没有帮助。 @PeeHaa 我没有设置错误报告,因为老实说我以前从未见过它。我可以将错误报告代码放在任何我想要的位置进行故障排除吗?或者它会抛出 cookie 函数写入到哪里,所以我有一个查看位置的参考点。

标签: php wordpress cookies


【解决方案1】:

很抱歉发布答案,但我无法发表评论,因为我没有代表。

除了查看上面的 cmets 之外,尝试简化 - 检查 if 语句是否正在执行,然后你就会知道你的 cookie 设置是否有错误。

此外,您引用的代码没有结束语句,我假设您在实际页面中有结束语句,但我想我会提到。

【讨论】:

  • 是的,我刚刚将它添加到代码中。谢谢你把它放在那里。我有关于代码的结束声明只是忘记在此处添加它。 -- 编辑代码直接进入 else 语句,并传递 if。它没有在 if 语句中执行任何操作。
  • @Elias 我认为如果它直接进入您的条件的else 部分,您需要进行一些基本调试。 IE。 var_dump();if 语句中的所有变量,以验证它是否包含您认为的内容。
  • 我找到了解决方案。不过谢谢。有 wordpress 代码覆盖了我尝试实现的启动代码。
【解决方案2】:

它不起作用的原因是因为有一个文件覆盖了启动页面本身,所以启动页面上的代码一开始就没有被调用。这只是命名文件的问题,这样它就不会有任何其他文件覆盖您放置在那里的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 2013-11-23
    相关资源
    最近更新 更多