PHP的setcookie函数没有设置在wordpress的启动页面实现

问题描述:

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

<?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条件是由主题创建的主页的信息。该网站的网址格式为siteIP/~user/。如果你们有一些反馈,将不胜感激。此外,如果你可以提供一个来源,以便我可以阅读它,也将不胜感激。谢谢你的时间。

+0

”启动页面的想法是将没有浏览过该网站的人重定向到鼓励他们捐赠的启动页面。“根本没有答案,但你确定你想惹恼你的访客? – PeeHaa 2012-08-08 15:44:02

+0

我愿意把钱放在'Warning:Can not Modify Header Information - Headers Already Sent'上,因为你已经在代码中的这个点之前输出了一些数据。我说这是因为''标签随机杂乱无章的代码遍布整个代码。 – DaveRandom 2012-08-08 15:44:13

+0

你有[错误报告](http://php.net/manual/en/function.error-reporting.php)启用权利? – PeeHaa 2012-08-08 15:45:52

它没有工作的原因是因为有一个文件覆盖了启动页面本身,因此启动页面上的代码并没有被首先调用。这只是命名文件的问题,因此它没有任何其他文件覆盖您放置的内容。 “

对不起,发布了一个答案,但我不能评论,因为我没有代表。

除了上面的评论,请尝试简化 - 检查if语句是否正在执行,然后您会知道您是否在Cookie设置中有错误。

另外,你引用的代码没有结束语句,我假设你在实际页面中有这样的内容,但是我认为我会提到这一点。

+0

是的,我刚刚添加到代码。感谢您将它放在那里。我对代码的结尾声明只是忘了在这里添加它。 - 编辑代码直接到else语句,并传递if。它不会执行if语句中的任何内容。 – Elias 2012-08-08 16:11:01

+0

@Elias我想你需要做一些基本的调试,如果它直接到你的条件的'else'部分。即'var_dump();''if'语句中的所有变量来验证它包含yuo认为它所做的事情。 – PeeHaa 2012-08-08 16:18:31

+0

我有一个解决方案。不过谢谢。有一些wordpress代码覆盖了我试图实现的splash代码。 – Elias 2012-08-08 16:58:02