Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [PHP]Подсчет числа переходов по сайту


Автор: savmp 19.1.2010, 12:56
Подскажите, как можно реализовать скрипт который подсчитывает для каждого пользователя в отдельности, сколько он сделал переходов по сайту или обновил страницу.

Пример такого скрипта есть на сайте: http://seclub.org/ в самом низу…

Спасибо…

Автор: patap 19.1.2010, 13:35
через cookie. Создай переменную в куки и на каждой странице прибавляй 1 к ней

Автор: savmp 19.1.2010, 13:47
patap

А ты можешь написать скрипт.... просто для меня куки и сессия на данный момент ещё сложновато...

На том сайте есть ещё один "прикол"... он подсчитывает и выводит сколько конкретный посетитель сделал переходов и если этот посетитель ничего не делал на сайте в течении или ушёл с него на 5 минут то данные сбрасываются...

Как написать такой скрипт... подскажите...

Автор: Simpliest 19.1.2010, 13:52
Руками. Берешь и пишешь.

P.S. Терпеть не могу ленивых попрошаек.

Автор: savmp 19.1.2010, 14:00
Simpliest - если бы я знал как написать этот скрипт я бы и не обращался к помощи более опытных людей!

А если ты до сих пор не научился различать два понятия (попрошайничать - и просить помощь) то это очень стыдно!

Автор: Simpliest 19.1.2010, 14:19
http://phpfaq.ru/debug

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

Так что не надо под дурачка прикидываться.

Цитата

savmp, Регистрация: 27.7.2009


Что ты выучил за прошедшие полгода?


Автор: savmp 19.1.2010, 14:22
Simpliest - короче толку с тебя и помощи нехера! Честное слово!

Добавлено через 1 минуту и 14 секунд
ПОМОГИТЕ написать примерно такой скрипт на PHP…

Человек заходит не сайт... скрипт проверяет есть кук или нет….
Если нет то создаёт кук с временем жизни 10 мин в кук прописывает 1 (единицу) и выводим результат (результат будет 1).

А если кук ЕСТЬ то переписываем его (или дописываем в него… я не знаю как правильно, для меня это ещё сложно) +1 то есть прибавляем к той цифре которая в куке единицу и выводим результат.

Как мне кажется получится скрипт который мне нужен… только я не знаю как этот скрипт написать…

Автор: patap 19.1.2010, 14:47
Код
  function showVisits() {
    $cookLive = time() + 60 * 10;
    if (isset($_COOKIE['counter'])) {
      $count = $_COOKIE['counter'] + 1;
      setcookie('counter', $count, $cookLive);
    } else {
      setcookie('counter', 1, $cookLive);
    }
    $result =  (isset($_COOKIE['counter'])) ? $_COOKIE['counter'] : 0;
    return $result;
  }
  
  echo showVisits();


функцию можешь выкинуть в файл и подключать файл на каждой странице где это необходимо.

ЗЫ setcookie() должна запускаться перед любым выводом в браузер, иначе будет Warning. Аналогично с session_start(), headers()...

Автор: savmp 19.1.2010, 15:33
patap Спасибо огромное тебе! Скрипт работает… это именно такай скрипт который я хотел…

Он работает на только почему то в самом начала сайта… доже через include
А мне нужно отображать результат почти в самом низу, но там он не работает, почему то… 

КАК сделать так, чтобы результат отображался внизу сайта… подскажи.

Автор: bars80080 19.1.2010, 15:38
Цитата(patap @  19.1.2010,  13:47 Найти цитируемый пост)
echo showVisits();

вместо этого пишешь:

Код

$resultOfCockie = showVisits(); 


вначале страницы. а в конце 

Код

echo $resultOfCockie;

Автор: savmp 19.1.2010, 16:00
ВСЕМ спасибо... всё работает!

В конечном итоге на свой сайт я поставил всамое насала страницы:

Цитата

<? function showvisits() {$cookes = time() + 60 * 10; if (isset($_COOKIE['counter'])) {$count = $_COOKIE['counter'] + 1; setcookie ('counter', $count, $cookes);} else {setcookie ('counter', 1, $cookes);} $result = (isset($_COOKIE['counter'])) ? $_COOKIE['counter'] : 0; return $result;} $outcome = showVisits(); ?>


А в то место где мне нужно выводить результат (почти наз сайта) я вставил:

Цитата

<? echo "$outcome"; ?>

Автор: patap 19.1.2010, 16:14
если функция showvisits() - вызывается только на одной странице, то все нормально.

если же будешь вызывать ее на каждой, то чтобы не дублировать ее код, занеси ее в файл и подключай файл

func.php
Код

function showVisits() {
 ....
}


index.php и другие
Код

include 'func.php';
$outcome = showVisits();
.....
.....
echo "$outcome";

Автор: savmp 19.1.2010, 18:21
Подскажите как довести до "ума" вот этот скрипт:


Цитата

<?
function showvisits () {$cookestime = time() + 60 * 1;
$starttime = mktime ();
if (isset ($_COOKIE['usertime'])) {$counttime = $_COOKIE['usertime']; setcookie ('usertime', $counttime, $cookestime);}
else {setcookie ('usertime', $starttime, $cookestime);}
$resulttime = (isset ($_COOKIE['usertime'])) ? $_COOKIE['usertime'] : 0; return $resulttime;}
$outcometime = showvisits ();
$finishtime = mktime ();
$out = $finishtime - $outcometime;
echo "Вы на сайте уже : $out секунд";
?>



Скрипт подсчитывает сколько секунд пользователь провёл на сайте...
Этот скрипт я написал относительно выше изложенного скрипта...

Этот скрипт работает на "ОК"... но только после нескольких обновлений страницы...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)