щ
ш
V
- ж
<
т
<
V
SELECT count(*) AS songcount,
sum(mp3.filesize) AS summary_size,
performer.name AS performer
FROM mp3, performer
WHERE mp3.perfid=performer.id
GROUP BY performer
И результат будет таким, как на рис. 10.
/ / личную посещаемость берём
I
f l
из куки и увеличиваем на единицу
|
$count = $
COOKIE[“count”];
S
if(!$count) Scount = 0;
I
$count++;
setcookie(“count”, Scount, time() + 86400);
Pue. 10
1
Так,
первый
столбец
показывает
количество строк в группе (т.е.
ко-
личество
песен,
принадлежащих
одному конкретному исполнителю),
другой
-
суммарный
размер
фай-
лов
в группе,
а третий
-
название
исполнителя, по которому формируется группа.
s o m jc o iirtt
su m m aiy sfoe
perform er
9588ЄЮ6
La Bouche
1
4249079
Modem Talking
1
10967632
Morandi
<body>
?>
<html>
<head>
<ШІе>тест c4ëT4HKa</title>
</head>
Разумеется, результат таких запросов можно сор-
тировать при помощи ORDER BY и ограничивать че-
рез LIMIT, следует лишь запомнить порядок указания
этих слов, поскольку он обязателен. Сначала GROUP
BY, за ним - ORDER BY, и только потом - LIMIT.
Куки и сессии
ор-
<? |"пс1ибе_опсе “count2er.inc.php”; ?>
че-
</Ьобу>
чия
</Щт1>
)||р
Все
куки
пользователя
именно
данного
сайта
доступны из глобального ассоциативного массива
$_СООК1Е.
Обратите
внимание
на
замечание
“именно данного сайта” .
Ч
тобы сайт был
интерактивным,
необходимо,
чтобы
он
мог
“запоминать”
посетителя.
До
сих пор мы рассматривали скрипты, которые выгля-
дят одинаково, независимо от того, что за посети-
тель их просматривает. Однако, в большинстве слу-
чаев это неприемлемо. Как пример, можно привес-
ти многочисленные интерактивные сайты, которые
“помнят” посетителя - чаты, форумы, блоги.
Большинство сайтов тоже имеют что-то напо-
добие
этого
-
практически
каждый,
более-ме-
нее сложный,
сайт имеет систему администри-
рования,
в которую необходимо входить,
введя
логин и пароль.
Одним из способов “запомнить” посетителя явля-
ются куки (cookies). На самом деле куки предназна-
чены для хранения некоторой информации в брау-
зере пользователя.
Стандарт, определяющий правила пользования ку-
кисами, накладывает ограничения на их размер, по-
этому много информации хранить в них не удастся.
Тем не менее, можно хранить некоторую ключе-
вую информацию (например, логин и пароль поль-
зователя), а всю остальную информацию хранить в
другом месте (в файле или БД).
Куки имеют ограниченный срок жизни - при соз-
дании куки следует указать, какое время куки долж-
ны храниться в браузере. В качестве примера рас-
смотрим
уже
знакомый
нам
скрипт,
отсчитываю-
%
щий посетителей сайта.
Но этот скрипт будет также считать посещаемо-
сть каждого пользователя.
Обратите внимание на
то, что для работы скрипта необходимо в браузере
разрешить
работу
с
куки.
Тогда
новый
скрипт
counter_test2.php будет таким:
Куки устанавливаются именно для одного сайта,
и
могут
быть
прочитаны
только
скриптами
этого
сайта.
После
прочтения
куки
мы
наращиваем
их
численное значение на единицу и записываем в ку-
ки снова функцией
setcookie.
Первый её параметр - название куки,
второй -
значение, третий - срок жизни в секундах.
В на-
шем
случае
time()
+
86400,
где
86400=24 часа х
3600 секунд, т.е сутки.
Обратите
внимание,
что операции
над куки
вы-
полняются в самом начале скрипта. Это не случай-
ность. Стандарт требует, чтобы установка куки про-
исходила до того,
как в страничку будет выведен
первый символ (сюда подпадают как вызовы écho,
так и простой вывод HTML). Если это требование не
соблюдать, мы получим сообщение об ошибке:
••
Warning: Cannot modify header information -
headers already sent by
.
Щ
' : ;.ïy
(output started at z:\home\multimedia\www\
! counter_test2.php: 1 )
:
in z:\home\multimedia\www\counter_test2.php
on line 9
Такое
предупреждение
возникает
даже
тогда,
когда нет явного вывода - например, перед пер-
вым
“<?”
в
скрипте
стоит
пробел
или
перевод
строки.
Куки в таком случае не установятся. Ну и
сам counter2.inc.php:
<
ХО
*
•>
.
-V
< 9
>>
^
g is .
écho “эту страницу просмотрели “;
:
if(file_exists(“counter.txt”)) $f = fopen(“counter.txt”,
“r+”);
else $f = fopen(“counter.txt”, “w+”);
flock($f, LOCK_EX);
предыдущая страница 31 Компьютер 2011 06 читать онлайн следующая страница 33 Компьютер 2011 06 читать онлайн Домой Выключить/включить текст