접속자집계에서 ip 앞에 국기 표시 채택완료
그누구나
4년 전
조회 3,402
adm/visit_list.php의
56-58줄과
101줄에
그누스터디의
작성자 ip 조회해서 접속 국가 이미지 표시 ip2nation 사용
을참고해서 아래와같이 코드를 추가했습니다.
한데, 국기 이미지가 깨져 표시되네요.
어디가 잘못됐는지, 좀 바로 잡아주세요.
</p>
<p><?php</p>
<p>$sub_menu = "200800";</p>
<p>include_once('./_common.php');</p>
<p> </p>
<p>auth_check_menu($auth, $sub_menu, 'r');</p>
<p> </p>
<p>$fr_date = isset($_REQUEST['fr_date']) ? preg_replace('/[^0-9 :\-]/i', '', $_REQUEST['fr_date']) : G5_TIME_YMD;</p>
<p>$to_date = isset($_REQUEST['to_date']) ? preg_replace('/[^0-9 :\-]/i', '', $_REQUEST['to_date']) : G5_TIME_YMD;</p>
<p> </p>
<p>$g5['title'] = '접속자집계';</p>
<p>include_once('./visit.sub.php');</p>
<p> </p>
<p>$colspan = 6;</p>
<p> </p>
<p>$sql_common = " from {$g5['visit_table']} ";</p>
<p>$sql_search = " where vi_date between '{$fr_date}' and '{$to_date}' ";</p>
<p>if (isset($domain))</p>
<p> $sql_search .= " and vi_referer like '%{$domain}%' ";</p>
<p> </p>
<p>$sql = " select count(*) as cnt</p>
<p> {$sql_common}</p>
<p> {$sql_search} ";</p>
<p>$row = sql_fetch($sql);</p>
<p>$total_count = $row['cnt'];</p>
<p> </p>
<p>$rows = $config['cf_page_rows'];</p>
<p>$total_page = ceil($total_count / $rows); // 전체 페이지 계산</p>
<p>if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)</p>
<p>$from_record = ($page - 1) * $rows; // 시작 열을 구함</p>
<p> </p>
<p>$sql = " select *</p>
<p> {$sql_common}</p>
<p> {$sql_search}</p>
<p> order by vi_id desc</p>
<p> limit {$from_record}, {$rows} ";</p>
<p>$result = sql_query($sql);</p>
<p>?></p>
<p> </p>
<p><div class="tbl_head01 tbl_wrap"></p>
<p> <table></p>
<p> <caption><?php echo $g5['title']; ?> 목록</caption></p>
<p> <thead></p>
<p> <tr></p>
<p> <th scope="col">IP</th></p>
<p> <th scope="col">접속 경로</th></p>
<p> <th scope="col">브라우저</th></p>
<p> <th scope="col">OS</th></p>
<p> <th scope="col">접속기기</th></p>
<p> <th scope="col">일시</th></p>
<p> </tr></p>
<p> </thead></p>
<p> <tbody></p>
<p> <?php</p>
<p> for ($i=0; $row=sql_fetch_array($result); $i++) {</p>
<p> </p>
<p>//국기 표시 4줄 추가</p>
<p>$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$row['wr_ip']}') ORDER BY ip DESC LIMIT 0,1 ");</p>
<p>$ip_flag = $row_ip['country'];</p>
<p> </p>
<p> $brow = $row['vi_browser'];</p>
<p> if(!$brow)</p>
<p> $brow = get_brow($row['vi_agent']);</p>
<p> </p>
<p> $os = $row['vi_os'];</p>
<p> if(!$os)</p>
<p> $os = get_os($row['vi_agent']);</p>
<p> </p>
<p> $device = $row['vi_device'];</p>
<p> </p>
<p> $link = '';</p>
<p> $link2 = '';</p>
<p> $referer = '';</p>
<p> $title = '';</p>
<p> if ($row['vi_referer']) {</p>
<p> </p>
<p> $referer = get_text(cut_str($row['vi_referer'], 255, ''));</p>
<p> $referer = urldecode($referer);</p>
<p> </p>
<p> if (!is_utf8($referer)) {</p>
<p> $referer = iconv_utf8($referer);</p>
<p> }</p>
<p> </p>
<p> $title = str_replace(array('<', '>', '&'), array("<", ">", "&"), $referer);</p>
<p> $link = '<a href="'.get_text($row['vi_referer']).'" target="_blank">';</p>
<p> $link = str_replace('&', "&", $link);</p>
<p> $link2 = '</a>';</p>
<p> }</p>
<p> </p>
<p> if ($is_admin == 'super')</p>
<p> $ip = $row['vi_ip'];</p>
<p> else</p>
<p> $ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['vi_ip']);</p>
<p> </p>
<p> if ($brow == '기타') { $brow = '<span title="'.get_text($row['vi_agent']).'">'.$brow.'</span>'; }</p>
<p> if ($os == '기타') { $os = '<span title="'.get_text($row['vi_agent']).'">'.$os.'</span>'; }</p>
<p> </p>
<p> $bg = 'bg'.($i%2);</p>
<p> ?></p>
<p> <tr class="<?php echo $bg; ?>"></p>
<p> <td class="td_category"></p>
<p> <img src="<?php echo G5_IMG_URL ?>/flags/<?php echo $ip_flag; //hyun...국기표시 ?>.png"> </p>
<p> <?php echo $ip ?></td></p>
<p> <td><?php echo $link ?><?php echo $title ?><?php echo $link2 ?></td></p>
<p> <td class="td_category td_category1"><?php echo $brow ?></td></p>
<p> <td class="td_category td_category3"><?php echo $os ?></td></p>
<p> <td class="td_category td_category2"><?php echo $device; ?></td></p>
<p> <td class="td_datetime"><?php echo $row['vi_date'] ?> <?php echo $row['vi_time'] ?></td></p>
<p> </tr></p>
<p> </p>
<p> <?php</p>
<p> }</p>
<p> if ($i == 0)</p>
<p> echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없거나 관리자에 의해 삭제되었습니다.</td></tr>';</p>
<p> ?></p>
<p> </tbody></p>
<p> </table></p>
<p></div></p>
<p> </p>
<p><?php</p>
<p>if (isset($domain))</p>
<p> $qstr .= "&domain=$domain";</p>
<p>$qstr .= "&page=";</p>
<p> </p>
<p>$pagelist = get_paging($config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr");</p>
<p>echo $pagelist;</p>
<p> </p>
<p>include_once('./admin.tail.php');</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
4년 전
저건 게시판 기준이고 접속 통계 페이지는 일단 $row['wr_ip'] 대신에 이렇게 해야 할 것 같은데요.
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$row['vi_ip']}') ORDER BY ip DESC LIMIT 0,1 ");
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
그누구나
4년 전
너무너무감사합니다.
�
모몽
1년 전
http://www.famfamfam.com/lab/icons/flags/ 국기 아이콘 링크가 안열리는데 어디서 받으면 될까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인