프로그래밍/PHP

php 방문자 측정하기, 카운터 구현 (세션 활용)

강남리치 2018. 6. 19. 05:48
반응형

1. 먼저 방문자 정보를 집계할 데이터베이스 테이블을 생성해둔다.



create table tb_stat_visit (

    seq int(11) unsigned not null auto_increment primary key,

    

    regdate datetime not null,

    

    regip varchar(30) null,


    referer text null


); 




2. counter.php 파일을 생성 후 아래와 같이 코드를 작성한다.


<?php

$db = new mysqli('localhost','아이디','비밀번호','데이터베이스명');


if(!isset($_SESSION)) { session_start(); } 

date_default_timezone_set('Asia/Seoul');

$currdt = date("Y-m-d H:i:s"); 

$userip = $_SERVER['REMOTE_ADDR'];

if(isset($_SERVER['HTTP_REFERER'])) 

$referer = $_SERVER['HTTP_REFERER'];  

else 

$referer = ""; 



if($db){

 

// 처음 방문했는지 검사

if(!isset($_SESSION['visit'])) { 

$_SESSION['visit'] = "1";

$query = "insert into tb_stat_visit (regdate, regip, referer) values('$currdt','$userip','$referer')";

$result = $db->query($query);

}


// 오늘 방문자수

$query = "select count(*) as count from tb_stat_visit where DATE(regdate) = DATE('$currdt')";

$data = $db->query($query)->fetch_array();

$today_visit_count = $data['count'];

// 전체 방문자수

$query = "select count(*) as count from tb_stat_visit";

$data = $db->query($query)->fetch_array();

$total_visit_count = $data['count'];

}


?>  



3. 방문자수를 집계할 php페이지 상단에 include_once("counter.php"); 를 작성해준다.

반응형