Читайте также: |
|
Пример: Создание новой сессии, в случае, если она не была создана ранее
if(!session_id()){session_start();}
Пример: Работа с переменными в сессии.
$_SESSION[‘curLng’] = “eng”;
echo $_SESSION[‘curLng’];
Лекция 13. Создание –приложений
Эта строка присвоит значение дня недели (в цифровой форме от 0 до 6)переменной $MonthStart для месяца и года. Так как первый день месяца былиспользован при задании временной метки, данный код определит этот конкретный день. Таким образом удастся узнать, с какого дня недели начинается месяц: с понедельника, вторника и т.д.
10. Проследите, чтобы значение переменной $MonthStart не было нулевым.
if ($MonthStart == 0) {
$MonthStart = 7;
}
Если значение переменной $MonthStart равно нулю, это означает, что месяц начинается с воскресенья и у нас будут проблемы с использованием данного числа при выполнении сценария. Чтобы избежать проблем, заменим ноль семеркой.
11. Определите последний день месяца.
$LastDay = date("d", mktime (0, 0, 0, $Month+l, 0, $Year));
Переменной $LastDay будет присвоено цифровое значение (например, 31,28 или 30), равное последнему дню месяца. Это определено использованием нулевого дня и следующего месяца ($Month+l) в функции mktime (}.
12. Задайте начальную дату как первый день месяца.
$StartDate = -$MonthStart;
Так как календарь будет начинаться с воскресенья, необходимо определить, какое количество дней пропустить до первого дня месяца. Если первый день месяца- вторник, значение $MbnthStart равно 2, следовательно, значение $startDate равно -2, то есть будут созданы два пустых дня до начала месяца.
13. Напишите цикл, который станет печатать строки календаря (недели).
for ($k = 1; $k <= 6; $k++) {
print ("<TR BGCOLOR=WHITE>");
В календаре будет 6 строк, поэтому цикл исполнит этот раздел кода 6 раз.
14. Создайте второй цикл, который будет печатать колонки календаря (дни).
for ($i = 1; $i <= 7; $i++) {
В календаре будет 7 колонок, одна на каждый день недели.
15. Увеличьте значение переменной $StartDate на единицу.
$StartDate++;
Значение переменной $startDate печатает дату для каждого дня календаря. Поэтому любая итерация цикла увеличивает это значение 16. Создайте условную конструкцию for, которая будет определять, когда пе-
чатать строку $StartDate.
if (($StartDate <= 0) || ($StartDate > $LastDay)) {
print ("<TD BGCOLOR=GREEN> </TD>");
} el'seif (($StartDate >= 1) && ($StartDate <= $LastDay)) {
print ("<TD ALIGN=CENTER>$StartDate</TD>");
}
Если значение переменной $StartDate меньше нуля (другими словами, месяц еще не начался) или больше количества дней в месяце ($LastDate), на экране монитора будет отображена пустая зеленая область. В том случае если значение переменной $StartDate больше нуля, но меньше количества дней в месяце ($LastDate), будет напечатана дата.
17. Закройте второй цикл, строку таблицы и первый цикл.
}
print ("</TR>\n");
}
18. Закончите таблицу.
print ("</TABLE>\n");
19. А теперь сделаем простую HTML-форму, которая передает страницу обратно в себя.
print ("<FORM ACTION=\"calendar.php\" METHOD=GET>\n");
20. Создайте два ниспадающих меню: одно для месяца, другое для года.
print ("Select a new month to view:\n");
print ("<SELECT NAME=Month>
-<OPTION VALUE=l>January</OPTION>\n
-<OPTION VALUE=2>February</OPTION>\n
-<OPTION VALUE=3>March</OPTION>\n
-<OPTION VALUE=4>April</OPTION>\n
-<OPTION VALUE=5>May</OPTION>\n
-«DPTION VALUE=6>June</OPTION>\n
-<OPTION VALUE=7>July</OPTION>\n
-<OPTION VALUE=8>August</OPTION>\n
-<OPTION VALUE=9>September</OPTION>\n
-«DPTION VALUE=10>October</OPTION>\n
-<OPTION VALUE=ll>November</OPTION>\n
-<OPTION VALUE=12>December</OPTION>\n</SELECT>\n");
print ("<SELECT NAME=Year>
-<OPTION VALUE=2001>2001</OPTION>\n
-<OPTION VALUE=2002>2002</OPTION>\n
-<OPTION VALUE=2003>2003</OPTION>\n
-</SELECT>\n");
Вы можете задать здесь любые годы. Обратите внимание, что два представленных меню сгенерируют переменные $Month и $Year, как только форма будет передана. И с этого времени благодаря условной конструкции, начинающейся со строки 5, новые значения будут использоваться вместо значений по умолчанию.
21. Создайте кнопку Submit и закройте форму.
print •("< INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=\"Submiti\">\n");
print ("</FORM>\n");
22. Включите файл нижнего колонтитула и закройте тэг РНР.
require ("footer.php");
?>
Дата добавления: 2015-08-13; просмотров: 55 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Работа с регулярными выражениями | | | Использование HTTP-заголовков |