접속중인 회원리스트 소스 - 아이피공유기로 접속하면 한사람밖에 안나오네용~
링크
. (34)
아래의 소스는 회원리스트 소스입니다
근데~ 공유기 사용하면 최종 새로고침한 피시의 회원만 나옵니다
고수님들의 지도가 필요합니다
<?
include "./$cfg[bbs_dir]/gblayer.php";
$guest_count = 0;
$sql = " select a.mb_id, b.mb_name, b.mb_icon, b.mb_email, b.mb_homepage, b.mb_open, a.lo_ip
from $cfg[table_login] a left join $cfg[table_member] b on (a.mb_id = b.mb_id) order by a.mb_id desc, a.lo_ip ";
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++) {
if ($row[mb_id]) {
$tmp_name = gblayer($row[mb_id], cut_str($row[mb_name],12), $row[mb_email], $row[mb_homepage], $row[mb_open]);
echo "<tr><td align=center height=20>$tmp_name</td></tr>";
} else {
$guest_count++;
}
}
mysql_free_result($result);
echo "<tr><td align=center height=20>비회원 {$guest_count}명</td></tr>";
if ($i==0) {
echo "<tr><td align=center></td></tr>";
}
?>
근데~ 공유기 사용하면 최종 새로고침한 피시의 회원만 나옵니다
고수님들의 지도가 필요합니다
<?
include "./$cfg[bbs_dir]/gblayer.php";
$guest_count = 0;
$sql = " select a.mb_id, b.mb_name, b.mb_icon, b.mb_email, b.mb_homepage, b.mb_open, a.lo_ip
from $cfg[table_login] a left join $cfg[table_member] b on (a.mb_id = b.mb_id) order by a.mb_id desc, a.lo_ip ";
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++) {
if ($row[mb_id]) {
$tmp_name = gblayer($row[mb_id], cut_str($row[mb_name],12), $row[mb_email], $row[mb_homepage], $row[mb_open]);
echo "<tr><td align=center height=20>$tmp_name</td></tr>";
} else {
$guest_count++;
}
}
mysql_free_result($result);
echo "<tr><td align=center height=20>비회원 {$guest_count}명</td></tr>";
if ($i==0) {
echo "<tr><td align=center></td></tr>";
}
?>
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 6개
공유기는 말 그대로 한 아이피를 여러명이 사용 하는 것입니다.
공유기 방식에 대해 간단히 설명 한다면
사용자 컴1(192.168.0.1) |
사용자 컴1(192.168.0.2) |----------- 공유기( 211.xxx.xxx.xxx: 실제 사용 가능 아이피) ------ www.sir.co.kr
사용자 컴1(192.168.0.3) |
사용자 컴1에서 sir.co.kr에 접속을 하면 먼자 자신의 아이피를 공유기에 전달하고 공유기가 사용자 컴1에서 요청한
정보와 아이피를 기억 하고 이것을 sir.co.kr에 호출 하고 그 받은 정보를 사용자컴 1에 다시 전달 하는것입니다..
sir.co.kr은 실제 확인 할수 있는 ip는 공유기에서 인식 하고 있는 아이피만 인식 할수 있습니다..
이부분은 큰 방법은 없다고 봅니다..
제가 약한 부분이 쿠키 하고 새션이여서요 ㅜ.ㅜ
도움을 못드려 죄송 합니다.. (__)
세션이란 서버측에 사용자에 관한 정보를 보관해두고 해당 세션의 세션 아이디를 쿠키에 저장함으로써, 방대한 양의 정보를 지속적으로 저장하기 위한 방법입니다.
세션은 사용자가 접속해 있는 동안 유지되므로, 이 세션값들을 모두 읽어 처리하게 되면, 현재 접속자가 몇 명인지, 누구인지 알 수 있습니다.
꼭 세션을 사용하지 않고, 누가 접속해 있는지만 궁금하다고 하신다면, 약간 우회해서 세션을 흉내내는 방법도 있습니다.
즉, 사용자가 접속할때마다 사용자의 아이디로 된 파일을 억세스 합니다.
그리고 사용자 아이디 파일 중에 5분간 억세스 되지 않은 파일이 있다면 삭제합니다.
그리고 이 파일의 갯수를 세면 현재 접속사 수를 알 수 있을것이고
접속한 사람들의 아이디를 알고 싶다면 파일들의 이름을 출력하면 되고
접속한 사람들의 이름을 알고 싶다면, 미리 파일에 이름을 저장해 두고, 이를 읽어 출력하거나 디비에서 읽어 출력하면 되겠죠.
260라인정도...
if (!$result) { // 오류가 발생한다면 UPDATE 함
$sql = " update $cfg[table_login]
set mb_id = '$member[mb_id]',
lo_datetime = '$now',
lo_location = '$location'
where lo_ip = '$_SERVER[REMOTE_ADDR]' ";
@mysql_query($sql);
}
위 부분을 아래 처러 수정하세요..
if (!$result) { // 오류가 발생한다면 UPDATE 함
$sql = " update $cfg[table_login]
set lo_ip = '$_SERVER[REMOTE_ADDR]',
lo_datetime = '$now',
lo_location = '$location'
where mb_id = '$member[mb_id]' ";
@mysql_query($sql);
}
답이 없는건지... 어렵군요~