我想让我的索引页面显示当前季度和年份,这样它就会随着时间的推移而更新。我需要帮助来重建我的代码。这就是了。它就像是某种公告牌日历:
$now = new DateTime();
$month = (int)$now->format("m");
$get_year = date("Y");
if ($month >= 1 AND $month <= 3) {
include_once("../index.php?year=".$get_year."&quarter=Q1");
}
elseif ($month >= 4 AND $month <= 6) {
include_once("../jet/index.php?year=".$get_year."&quarter=Q2");
}
elseif ($month >= 7 AND $month <= 9) {
include_once("../jet/index.php?year=".$get_year."&quarter=Q3");
}
else {
include_once("../jet/index.php?year=".$get_year."&quarter=Q4");
}将要显示的页面已经准备好了,只是我无法显示它,并导致了这些错误:
警告: include_once(.../index.php?year=2012&quarter=Q3)函数.include-once:无法打开流:第121行的D:\xampp\htdocs\jet\index.php中的结果太大
警告: include_once() function.include:在第121行的D:\xampp\htdocs\jet\index.php中打开'.../index.php?year=2012&quarter=Q3‘失败(include_path='.;D:\xampp\php\PEAR')
对谁有帮助吗?
发布于 2012-08-14 14:39:43
不同。
让我们回到基本问题上,好吗?
您通过URL发送的内容在另一端作为"GET“接收,它需要作为超文本发送到GET服务器,GET服务器将把信息传递给PHP脚本,PHP脚本将相应地编译它们。因此,这个逻辑将不起作用,因为在include中,您可以使用文件系统。
您想要做的是使用header()
header("location: http://example.com/jet/index.php?year=$get_year&quarter=Q2");而不是
include_once("../index.php?year=".$get_year."&quarter=Q1"); header()会将用户重定向为超文本传输协议响应。
发布于 2012-08-14 14:40:06
不要在包含字符串中传递$_GET变量。
准备好变量
$year='2012';
$quarter='Q3';
include_once('index.php');然后运行include字符串,就可以正常访问年份和季度。确保检查变量的作用域。
所以你的完整代码:
$year=$get_year;
if ($month >= 1 AND $month <= 3) {
$quarter='Q1';
include_once("../index.php");
}
elseif ($month >= 4 AND $month <= 6) {
$quarter='Q2';
include_once("../jet/index.php");
}
elseif ($month >= 7 AND $month <= 9) {
$quarter='Q3';
include_once("../jet/index.php");
}
else {
$quarter='Q4';
include_once("../jet/index.php");
}https://stackoverflow.com/questions/11946922
复制相似问题