(PHP) Как лучше организовать счетчик кликов на ссылку

sahar
Дата: 30.09.2006 20:36:25
Задался вопросом как организовать счетчик кликов на ссылку. Есть такая идея... Когда кликаю на ссылку, вызывается ajax-скрипт, который вызывает пхп код, который делает +1 к значению , которое есть в базе. Может есть что то по лучше? Поделитесь опытом.
10кс
Kachalov
Дата: 30.09.2006 21:09:32
AJAX - не надежно!
Ссылку делать так: <a href="counter.php?link=url1">ссылка 1</a>, вместо конкретного url можно писать id ссылки из БД.
Ну а counter.php написать что то вроде:
<?php
header('Location: '.$_GET['link']);
... //считаем клик
?>
Anton Lukyanov
Дата: 09.10.2006 12:22:36
наверное лучше будет так, ведь код после header() не выполнится

<?php
... //считаем клик
header('Location: '.$_GET['link']);

?>
VERS
Дата: 09.10.2006 12:40:29
Anton Lukyanov
наверное лучше будет так, ведь код после header() не выполнится

?>[/src]

Бред!
Anjey aka PM
Дата: 09.10.2006 13:15:29
Anton Lukyanov
код после header() не выполнится


я плакалЪ , маладэц, пиши есчо
Хранитель
Дата: 10.10.2006 10:56:24
Действительно
>код после header() не выполнится
в некоторых браузерах не выполняется. Получая 302 код бразеры сразу останавливают загрузку и переходят на Moved страницу.
Kachalov
Дата: 10.10.2006 11:44:14
Хранитель
Получая 302 код бразеры сразу останавливают загрузку и переходят на Moved страницу.

- а что за браузеры? если это это конечно не секрет.

- наличие заголовка Location автоматически не означает наличие соответствующего статус кода.
Кстати почему именно 302, 303 тоже подойдет?
В указаном случае статус код останется равным 200.

- закрытие сетевого соединения с клиентом не означает автоматического завершения работы сценария.
Хранитель
Дата: 12.10.2006 04:58:00
Был не прав, за четыре года программинга, вывод - стал лаймером =) беру свои слов обратно.

<?php
header("Location: http://localhost");
echo str_repeat("q", 256+1);
@flush();
sleep(20);
file_put_contents("tmp.tmp", "Привет!");
?>

в итоге , после редиректа через 20 секунд появлялося файл tmp.tmp +)
ЗЫ: я ламер =)
sahar
Дата: 02.02.2007 12:46:23
Хранитель
Был не прав, за четыре года программинга, вывод - стал лаймером =) беру свои слов обратно.

<?php
header("Location: http://localhost");
echo str_repeat("q", 256+1);
@flush();
sleep(20);
file_put_contents("tmp.tmp", "Привет!");
?>

в итоге , после редиректа через 20 секунд появлялося файл tmp.tmp +)
ЗЫ: я ламер =)


Не видел далее обсуждения, увидел когда просматривал темы и просто не могу удержатся что б не написать. Хранитель, все правильно, на php.net говорится, что нужно делать exit после Location, что б не возвращаться. Сорри за оффтоп, но не сдержался... ) (и это за 4 года програминга)))))