由于显而易见的原因,我试图让我的网站脱机,我无法使localhost
PHP功能正常工作。我的代码如下:
include "http://localhost:8888/mainbar.php?display=1";
如果我只是拥有它的名字,我可以包含该文件,但我需要在URL上传递值,所以这不是一个选项。我已经研究了其他方法来实现这一点,但使用MAMP的关键是能够脱机工作然后上传改进。
接下来,我无法设置Cookie。以下是我的以下cookie代码:
$expire=time() + (14 * 24 * 60 * 60);
setcookie("user", "Conan", $expire, '/');
我也曾尝试使用Chrome设置Cookie,但我无法这样做。如果无法做到,我会感到惊讶。
答案 0 :(得分:2)
仅包含文件路径,而不是URL。
正确的用法如下所示: 包括“/ path / to / file”
include "/var/www/html/yourappfolder/mainbar.php";
我看到你试图传递一个变量?display=1
。解决方案不是弄清楚如何使用URL参数加载文件,您真的想重新设计如何获取与display
变量对应的信息。
您要做的是改进软件设计并在某处创建单独的功能,例如:getMainBarData($display)
。在mainbar.php文件中,您将调用此函数以获取当前的结果。在您正在使用的文件中,您可以包含包含新功能getMainBarData($display)
的文件,并直接调用它:getMainBarData(1)
。
所以基本上,你想创建一个既可以被mainbar.php
使用又可以使用include的文件。 1个功能可供2页使用,这是您的最佳解决方案。
就cookie问题而言..尝试没有路径“/”..所以:
setcookie('user', 'Conan', $expire);
答案 1 :(得分:0)
对于问题的第一部分,你需要启用url_file_include。这被认为是一个巨大的安全风险,一般来说它永远不会被使用,因为它是设计糟糕的标志。为了使这项工作你只需要添加一个
allow_url_include=1
在你的php.ini中。 对于问题的后半部分,您的代码在我的MAMP安装上正常工作,因此您必须确保在向浏览器输出之前调用setcookie(任何回声)。 如果您要保存任何敏感信息,也应该考虑不使用cookie。