Отправляет email-рассылки с помощью сервиса Sendsay

PHP-песочница

  Все выпуски  

PHP-песочница Часы на странице сайта


Php-«песочница»

Выпуск 19

Здравствуйте. С вами Андрей Чернобай с новым выпуском "PHP - песочницы". Рассылка создана для самых "маленьких" - для тех, кто делает только первые шаги в программировании на PHP. Если Вы хотите двигаться быстрее и освоить создание PHP- сайтов профессионально, рекомендую курс PHP+MySQL для начинающих, потому что в этом курсе собрано всё то, что необходимо именно для создания сайтов, никакой "воды", при этом всё доступно, подробно до мелочей и наглядно.

Для отписки от рассылки внизу страницы есть ссылка. А с остальными продолжим.

Я подготовил для Вас несколько полезных скриптов...

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

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

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

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

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

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

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

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

Открываем time.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 = "минут"; //во всех прочих случаях выводится слово "минут"
}
..........

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

Успехов.

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


"PHP + MySQL для начинающих"


P. S. Остальные уроки и статьи по PHP Вы найдёте как всегда здесь. Все возникающие вопросы Вы можете задать, прислав мне письмо на электроный адрес (см. подпись к выпуску) или через форму для добавления комментариев на страницах сайта.

Автор расылки: Андрей Чернобай
kapitansg@yandex.ru


В избранное