PHP日历-当前月份以外的任何其他月份都有问题

PHP日历-当前月份以外的任何其他月份都有问题,php,calendar,Php,Calendar,我正在构建第一个需要日历的应用程序。我这个月做的很好。我的问题是,我不知道如何使它,当用户点击链接转到下个月,它将显示下个月 我将尝试只发布必要的代码,所以这里是我的变量 //gets todays date $date = time(); //This puts the day, month, and year in separate variables $day = date('d', $date); $month = date('m', $date); $year = date('y',

我正在构建第一个需要日历的应用程序。我这个月做的很好。我的问题是,我不知道如何使它,当用户点击链接转到下个月,它将显示下个月

我将尝试只发布必要的代码,所以这里是我的变量

//gets todays date
$date = time();

//This puts the day, month, and year in separate variables
$day = date('d', $date);
$month = date('m', $date);
$year = date('y', $date);
$bigYear = date('Y', $date);
$first_day = mktime(0, 0, 0, $month, 1, $year);             //we need to generate the first day of the month
$month_name = date('F', $first_day);                        //get the current month's full spelling
$day_of_week = date('D', $first_day);                       //find out what day of the week the first day of the month falls on
$prevM = getDate(mktime(0, 0, 0, $month-1, 1, $year));      //gets an associative array of the previous month
$nextM = getDate(mktime(0, 0, 0, $month+1, 1, $year));      //gets an associative array of the next month
$prevMonth = $prevM['month'];                               //gets the actual previous month's name
$nextMonth = $nextM['month'];                               //gets the actual next month's name
$day_count = 1;                                             //counts the days up to 7 so we know when to start a new week
$day_num = 1;                                               //counter for the total number of days in the month
这是我的链接,可以带你到下个月和上个月

echo "<th colspan=2 class=\"noBorder\"><a href='{$_SERVER['PHP_SELF']}?currentpage=$prevMonth'>&laquo;</a></th>";
echo "<th colspan=3 class=\"noBorder\"><strong>$month_name</strong></th>";
echo "<th colspan=2 class=\"noBorder\"><a href='{$_SERVER['PHP_SELF']}?currentpage=$nextMonth'>&raquo;</a></th>";
echo”“;
回声“$month\u name”;
回声“;
类似于:

$date = empty($_GET['currentpage']) ? time() : $_GET['currentpage'];
试试这个:

$date = empty($_GET['currentpage']) ? time() : strtotime($_GET['currentpage']);
以及:


如果我这样做,然后单击其中一个链接,它总是将$month\u名称设置为十二月。你知道为什么吗?只需要将它更改为
$date=empty($\u GET['currentpage'])?time():strotime($_GET['currentpage'])这不起作用,因为在2010年12月之后,您将跳回2010年1月(而不是2011年1月!)。你也必须通过这一年。谢谢你!我只是在测试它,意识到我被困在今年,并准备要求这个。非常感谢!
$prevMonth = "{$prevM['year']}-{$prevM['mon']}";
$nextMonth = "{$nextM['year']}-{$nextM['mon']}";