|
|
|
| Здравствуйте, мне надо посчитать сколько раз скачали файл, как лучше это сделать? Такой запрос: mysql_query("UPDATE aaaa SET num_ska=num_ska + 1 WHERE iddd=$u[0]"), только куда его впихнуть :). Спасибо | |
|
|
|
|
|
|
|
для: Mesm
(27.07.2005 в 11:08)
| | Смысл построения таких счётчиков заключается в следующем коде. Пусть имеется файл test.zip для которого необходимо подсчитать число посетителей его загрузивших.
<?php
// файл index.php
if($_GET['test'] == "downloads")
{
// Тут код подсчёта хита, например заносим в базу данных
mysql_query("UPDATE aaaa SET num_ska=num_ska + 1 WHERE iddd=$u[0]");
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=test.zip'>
</HEAD></HTML>";
}
?>
<a href=index.php?test=downloads>Скачать</a>
|
PS Полный вариант такого счётчика можно найти на компакт-диске к книге "PHP 5 Практика создания Web-сайтов" http://www.softtime.ru/php5/?id_article=43 | |
|
|
|
|
|
|
|
для: cheops
(27.07.2005 в 12:35)
| | А можно это сделать с помощью onclick? | |
|
|
|
|
|
|
|
для: Mesm
(27.07.2005 в 12:39)
| | Можно, но страницу всё-равно перегружать придётся, так как onclick клиентское событие, а запись в базу данных происходит на серверной стороне. | |
|
|
|
|
|
|
|
для: cheops
(27.07.2005 в 12:53)
| | cheops код немного нерациональный. Если уже +1 за скачку, то зачем ещё ссылка для инициации скачивания.
Я думаю, но это сугубо моё мнение, как бы делал я, стоит модернизировать ствой код:
есть ссылка на допустим такая:
<a href="files/test.zip">test.zip</a>
|
переделываем её в
<a href="download.php?file=test.zip">test.zip</a>
|
содержимое download.php
тут коннектимся к базе
$sql = "записываем +1 показ в базу";
mysql_query($sql);
header ("Location: files/".$file);
|
Сам пока не пробовал на практике, но в теории обязано сработать. | |
|
|
|
|
|
|
|
для: [CHOL]Scorpion
(27.07.2005 в 13:06)
| | Это тоже самое. | |
|
|
|
|
|
|
|
для: cheops
(27.07.2005 в 13:14)
| | угу, только в твоём примере это делает браузер ... что увеличивает время операции.
ЗЫ: просто обозначил разницу вариантов :) | |
|
|
|
|
|
|
|
для: [CHOL]Scorpion
(27.07.2005 в 13:22)
| | На самом деле в вашем примере это тоже делает браузер :), HTTP-заголовок Location интерпретируется именно им. | |
|
|
|
|
|
|
|
для: [CHOL]Scorpion
(27.07.2005 в 13:22)
| | На самом деле оба варианта практически эквивалентны - в вашем случае код получается более компактным, в моём более защищённым от использования новичками, у которых часто возникают проблемы при отправки текста вперёд заголовоков. | |
|
|
|
|
|
|
|
для: cheops
(27.07.2005 в 13:54)
| | да, верно, вечно нафигачат пол страницы, а потом пытаются хэдером переслать :) | |
|
|
|