테스트 사이트 - 개발 중인 베타 버전입니다

각 페이지 체류시간 채택완료

땅콩잉 5년 전 조회 4,044

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

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개

채택된 답변
+20 포인트
M
5년 전

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

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

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

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

땅콩잉
5년 전
아 무슨 느낌인지 알것같아요! 시도해볼게요 감사합니다!!ㅎㅎ

댓글을 작성하려면 로그인이 필요합니다.

M
5년 전

$_SERVER['HTTP_REFERER']

이용해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

땅콩잉
5년 전
답변 감사하나 제가 의도한?질문과는 다른 것 같아요~!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인