2013-09-06 8 views
0

Привет, ребята, я работаю над программой, которая будет выполнять количество людей, посещающих веб-сайт, и когда изменение даты начнется с 0. Поэтому я почти понял, как это сделать, но это не так, отображаться как 0, когда изменения даты, вот мой код:Уничтожьте сеанс в PHP

<?php 
    session_start(); 
?> 
      <?php 
      if(isset($_SESSION['views'])) 
       $_SESSION['views']=$_SESSION['views']+1; 
      else 
       $_SESSION['views']=1; 
       echo "You are the ". $_SESSION['views'] ." Visitor"; 
     ?> 
+7

Сессии не являются общедоступными. –

+2

Сессия не подходит для ее хранения. Вы можете подумать о простой базе данных. – Zwirbelbart

+1

Этот код будет учитывать только количество посетителей, посетивших страницы, содержащие этот код. Это «вы посетили X-страницы» вместо «вы X-го посетителя». –

ответ

2

Как сказал @Zwirbelbart, не использовать сессии для решения этого. Используйте БД или, по крайней мере, файл, в котором вы будете хранить количество посетителей.

Что-то вроде этого:

function incrementVisitorsCount() { 
    $currentDay=date("Ymd"); 
    if(!isset$_SESSION["visited"] || $_SESSION["visited"] != $currentDay) { 
     incrementYourDailyCounter($currentDay); 
     $_SESSION["visited"]=$currentDay; 
    } 
} 

incrementYourDailyCounter является функция, которая будет увеличивать соответствующее значение в хранилище вы выбрали (я бы предложил таблицу в БД вы наверняка уже используете).

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