basic-web-php-PHP-Example03.php / php
<?php // Set up the variables (today, month, year, cmd) // today = m/d/y // cmd = 1 (add month) or -1 (sub month) function setvars() { // Default is today month = year = today = today['mday']."/".// Get POST data if (isset(_POST) && count(_POST['month'])) { _POST['month']; } if (isset(year = _POST['next'])) { _POST['prev'])) { // Get GET data if (isset(_GET) && count(_GET['month'])) { _GET['month']; } if (isset(year = _GET['next'])) { _GET['prev'])) { // If given a command (move month) // act on it if (isset(cmd)) { cmd; // Adjust month over or underrun if (month = 1; month <= 0) { year -= 1; } } // Return vars in an array return array("today" => month, "year" => cmd); } // End setvars() // Do the document header function docheader(year) { // Set script to return to (form action) _SERVER['PHP_SELF']; month."/1/".// If content header has not been sent, // send it if (!headers_sent()) { header('Content-type: text/html'); } // Print the document header (up to first date row) print <<<HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1.dtd"> <html> <head> <title>Calendar - Month </title> <style type="text/css"> tr.weekdays td { width: 100px; text-align: center; } tr.week td { width: 100px; height: 100px; color: black; } </style> </head> <body> <form action="this_script" method="post"> <table border="1"> <!-- Controls and calendar title (month) --> <tr> <td colspan="1" align="left"> <input type="submit" name="prev" value="<<" /> </td> <td colspan="5" align="center"> <strong> year </strong> <input type="hidden" name="month" value="<input type="hidden" name="year" value="year" /> </td> <td colspan="1" align="right"> <input type="submit" name="next" value=">>" /> </td> </tr> <!-- Day of week header row --> <tr class="weekdays"> <th>Sunday</th> <th>Monday</th> <th>Tuesday</th> <th>Wednesday</th> <th>Thursday</th> <th>Friday</th> <th>Saturday</th> </tr> <!-- Calendar (days) start here --> HTML; } // End docheader() // Do the document footer (close tags, end doc) function docfooter() { print <<<HTML <!-- Close all open tags, end document --> </table> </form> </body> </html> HTML; } // End docfooter() // Print an empty day (cell) function emptyday() { print <<<HTML <td align="right" valign="top"> </td> HTML; } // End emptyday() // Print a day cell function day(month,year) { month."/".year; if (today) { font = ""; } print <<< HTML <td align="right" valign="top" day</td> HTML; } // End day() // Open or close a row function weekrow(cmd) { case "open": print "<tr class=\"week\">\n"; break; case "close": print "</tr>\n"; break; } } // End weekrow() // Main program body function main() { // Set the date vars by default, POST, or GET today = month = year = cmd = // Do the header and open first row docheader(month,// Set up first weekday and 1st day (m/1/y) first_weekday = date("w",strtotime(year)) + 1; // Print empty days up to the first weekday of month for (weekday = 1; first_weekday; // Do rest of month while we have a valid date while (checkdate(month,year)) { // If SUN, open the row if (// Print day and increment day(today,day,weekday++; // If SAT, close row reset weekday if (weekday > 7) { weekrow("close"); // Close current week while (weekday != 1 && weekday++; } // Close document docfooter(); } // End main(); // Kick it all off main(); ?>
(C) Æliens 20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.