Уроки PHP для начинающих


Часы на странице сайта

Я подготовил для Вас несколько полезных скриптов, чему и будут посвящены несколько следующих статей...

Впрочем, если уж Вы решили освоить программирование, то любой скрипт полезен - без постоянного анализа готовых скриптов невозможно стать программистом. Как невозможно стать писателем, игнорируя анализ уже написанных произведений.

И сегодня представляю Вашему вниманию первый из подготовленных скриптов.

Для тестирования и экспериментов с разными скриптами я предлагаю создать в Денвере отдельный сайт, например, с названием php (адрес этого сайта такой: WebServers - home - php - www. В папке www и помещаем все файлы нашего сайта).

Создадим в папке www файл index.html - это всего-навсего главная страница, на ней будут ссылки-заголовки, ведущие на страницы с уже конкретным скриптом. Такую страницу создаём просто для удобства навигации между разными скриптами. (Я не стану здесь показывать, как создать индексную страницу сайта, если Вы этого не знаете, то Вам здесь быть рано, изучите хотя бы HTML, затем возвращайтесь... С остальными продолжим.)

На индексной странице пишем, например, такой заголовок: "Часы на странице сайта", - и из этого заголовка делаем ссылку на файл, например, с именем clock.php, который, разумеется, будет в той же папке www. И создаём этот файл clock.php.

Можно проверить, что получилось: запускаем Денвер, запускаем браузер, в адресной строке браузера пишем http://php, энтерякаем - при отсутствии ошибок на предыдущих шагах появится главная страница нашего сайта со ссылкой "Часы на странице сайта"; если на эту ссылку кликнуть, должен произойти переход на страницу clock.php, на которой пока пусто.

Если всё получилось - отлично, иначе - ищем ошибки в коде или, возможно, Вы просто-напрсто забыли запустить сервер.

Открываем clock.php в своём редакторе.

Пишем код:

<html>
<head>
<title>Часы на странице сайта </title>
</head>

<body>

<table width="80%" border="1" align="center" bordercolor="#0000FF">
<tr>
<td height="300" valign="top">

<h1> Часы на странице сайта.</h1>
<div align="center" style="border:#000000 solid 1px; width:300px; background-color:#FFFFFF">

<?php
echo "$H $hs : $i $is"; // вывели время на страницу
?>
</p>

</td>
</tr>
</table>

<p align="center"><a href="index.html">На главную</a></p>

</body>
</html>

Пока что это только каркас, задача которого создать некоторое подобие форматирования информации, которая будет потом выводится на страницу. В коде есть фрагмент, заключённый в php-теги, но отображаться в нём ничего пока не будет, потому что нет самого скрипта для обработки текущего времени. Переменные в этом фрагменте означают следующее:

$H - текущий час;

$hs - слово "час" ("часов, часа")

$i - минуты

$is - слово "минут" ("минуты")

Теперь создадим сам скрипт для обработки текущего времени. Добавляем следующий код:

<?php
//определяем текущее время
$new = time (); //определяем текущее время с помощью функции time ()

$H = date ('H', $new); //определяем часы
$i = date ('i', $new); //определяем минуты

//определяемся со словом "час/часа/часов"
if (($H == 1) || ($H == 21)) //если сейчас один час или двадцать один час, то
{
$hs = "час"; //после количества часов будет слово "час"
}
else if (($H >= 2 && $H <= 4) || ($H >= 22)) //если же время от 2 до 4 часов, то
{
$hs = "часа"; //слово будет "часа"
}
else
{
$hs = "часов"; //во всех прочих случаях будет выводиться слово "часов"
}

// определяем первую цифру количества минут
if ($i < 10)
{
$i0 = $i;
}
else
{
$i0 = $i - floor ($i/10) * 10; //функция floor округляет дроби в сторону уменьшения
}

// определяемся со словом "минута"
if (($i >= 10) && ($i <= 20)) //если текущая минута в диапазоне от 10 до 20 минут, то
{
$is = "минут"; //выводится "минут"
}
else if ($i0 == 1) //если одна минута, например, пять часов одна минута, то
{
$is = "минута"; //выводится "минута"
}
else if (($i0 >= 2) && ($i0 <= 4)) //если от 2 до 4 минут, то
{
$is = "минуты"; //выводится "минуты"
}
else
{
$is = "минут"; //во всех прочих случаях выводится слово "минут"
}

<html>
<head>
<title> Часы на странице сайта </title>
</head>
<body>

<table width="80%" border="1" align="center" bordercolor="#0000FF">
<tr>
<td height="300" valign="top">

<h1> Часы на странице сайта.</h1>
<div align="center" style="border:#000000 solid 1px; width:300px; background-color:#FFFFFF">

<?php
echo "$H $hs : $i $is"; // вывели время на страницу
?>
</p>

</td>
</tr>
</table>

<p align="center"><a href="index.html">На главную</a></p>

</body>
</html>

Из всего кода наиболее труден для восприятия фрагмент, выделенный красным:

......
// определяем первую цифру количества минут
if ($i < 10)
{
$i0 = $i;
}
else
{
$i0 = $i - floor ($i/10) * 10; //функция floor округляет дроби в сторону уменьшения


// определяемся со словом "минута"
if (($i >= 10) && ($i <= 20)) //если текущая минута в диапазоне от 10 до 20 минут, то
{
$is = "минут"; //выводится "минут"
}
else if ($i0 == 1) //если одна минута, например, пять часов одна минута, то
{
$is = "минута"; //выводится "минута"
}
else if (($i0 >= 2) && ($i0 <= 4)) //если от 2 до 4 минут, то
{
$is = "минуты"; //выводится "минуты"
}
else
{
$is = "минут"; //во всех прочих случаях выводится слово "минут"
}
..........

Сказать по правде, для объяснения тоже. Это как раз тот случай, когда требуется внимательно рассмотреть код и проанализировать.

Успехов.

Если же Вы хотите научиться создавать PHP-сайты профессионально и сэкономить на освоении программирования несколько лет, то Вам сюда.

Автор: Андрей Чернобай

P. S. Подпишитесь на безплатную рассылку Вокруг Сайта и получайте на свой электронный адрес новые уроки по созданию сайта.

Оставьте свой отзыв о статье:



Введите цифровой код с картинки*:

Новое на сайте

Другие статьи...

Видеокурсы

Рассылки

"Вокруг Сайта"
подпишитесь и получайте на свой e-mail уроки, книги, статьи, скрипты, а также подарки и скидки на товары, продаваемые с сайта

SmartResponder.ru
Ваше имя: *
Ваш e-mail: *

"PHP-песочница"
- PHP для начинающих: уроки с подробным анализом скриптов, необходимых для вашего сайта:

PHP-песочница
Подписаться письмом

Разделы Сайта