각 페이지 체류시간

각 페이지 체류시간

QA

각 페이지 체류시간

답변 2

본문

안녕하세요! 제가 각 방문자의 이동경로랑 체류시간을 디비에 쌓으려고합니다~

tbl_login에 있는 컬럼을 포함하여 테이블을 새로 생성하여 세션아이디와 체류시간 컬럼을 추가하였습니다.

 

그리고 lib/common.lib 파일에 function run( ){ } 이 함수안에서 

$s_cart_id = get_session('ss_cart_id');
            $ct_time = " SELECT lo_datetime from {$g5['login_table']} where od_id='$s_cart_id' ORDER BY lo_datetime desc LIMIT 1";
            
            $row=sql_fetch($ct_time);
            $ct_time_result=$row['lo_datetime'];
            $now_time = date('Y-m-d H:i:s');

            $time_check = strtotime($now_time) - strtotime($ct_time_result); //대상 날짜 및 시간 필드
            $total_time = $time_check;
            $days = floor($total_time/86400);
            $time = $total_time - ($days*86400);
            $hours = floor($time/3600);
            $time = $time - ($hours*3600);
            $min = floor($time/60);
            $sec = $time - ($min*60);

if($days==0&&$hours==0&&$min==0)
    echo $sec."초 경과";
elseif($days==0&&$hours==0)
    echo $min."분 경과";
elseif($days==0)
    echo $hours."시간 경과";
else
    echo $days."일 경과";

$time_final=$days."일".$hours."시".$min."분".$sec."초";
 $tmp_sql = " insert into tbl_login_2( lo_ip, mb_id, lo_datetime, lo_location, lo_url ,f_time) values ( '{$_SERVER['REMOTE_ADDR']}', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$g5['lo_location']}',  '{$g5['lo_url']}','time_final') ";
            sql_query($tmp_sql, FALSE);

 

 

대충 이런식으로 몇분 몇초 머물렀는지 디비에 남게 해놨는데 A페이지에서 B페이지로 이동하면

A페이지에 머문시간이 B페이지 체류시간 컬럼값으로 들어가서 수정이 필요한 상태인데

insert된 값에서 체류시간값만 update하는쪽으로 해야만하는건지.. 다른 방법이 있을거같은데....모르겠어요

어떤식으로 접근해서 체류시간을 구해야될지 조언얻고 싶습니다! 

 

이 질문에 댓글 쓰기 :

답변 2

1. $_SERVER['HTTP_REFERER'] 로 이동전 url 체크

2. 시간 갱신 - 기존 입력된 초기접속 시간정보와 체류했던 url이 있다면 갱신 가능

특정 시간 이상 다음 접속이 없다면 체류시간 초기화

위처럼 구성하면 될듯한데요

 

$_SERVER['HTTP_REFERER']

이용해보세요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 56
© SIRSOFT
현재 페이지 제일 처음으로