접속중인 회원리스트 소스 - 아이피공유기로 접속하면 한사람밖에 안나오네용~ 정보
접속중인 회원리스트 소스 - 아이피공유기로 접속하면 한사람밖에 안나오네용~관련링크
http://.
25회 연결
본문
아래의 소스는 회원리스트 소스입니다
근데~ 공유기 사용하면 최종 새로고침한 피시의 회원만 나옵니다
고수님들의 지도가 필요합니다
<?
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>";
}
?>
댓글 전체
어떻게 보면 당연한것입니다..
공유기는 말 그대로 한 아이피를 여러명이 사용 하는 것입니다.
공유기 방식에 대해 간단히 설명 한다면
사용자 컴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는 공유기에서 인식 하고 있는 아이피만 인식 할수 있습니다..
이부분은 큰 방법은 없다고 봅니다..
공유기는 말 그대로 한 아이피를 여러명이 사용 하는 것입니다.
공유기 방식에 대해 간단히 설명 한다면
사용자 컴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분간 억세스 되지 않은 파일이 있다면 삭제합니다.
그리고 이 파일의 갯수를 세면 현재 접속사 수를 알 수 있을것이고
접속한 사람들의 아이디를 알고 싶다면 파일들의 이름을 출력하면 되고
접속한 사람들의 이름을 알고 싶다면, 미리 파일에 이름을 저장해 두고, 이를 읽어 출력하거나 디비에서 읽어 출력하면 되겠죠.
세션이란 서버측에 사용자에 관한 정보를 보관해두고 해당 세션의 세션 아이디를 쿠키에 저장함으로써, 방대한 양의 정보를 지속적으로 저장하기 위한 방법입니다.
세션은 사용자가 접속해 있는 동안 유지되므로, 이 세션값들을 모두 읽어 처리하게 되면, 현재 접속자가 몇 명인지, 누구인지 알 수 있습니다.
꼭 세션을 사용하지 않고, 누가 접속해 있는지만 궁금하다고 하신다면, 약간 우회해서 세션을 흉내내는 방법도 있습니다.
즉, 사용자가 접속할때마다 사용자의 아이디로 된 파일을 억세스 합니다.
그리고 사용자 아이디 파일 중에 5분간 억세스 되지 않은 파일이 있다면 삭제합니다.
그리고 이 파일의 갯수를 세면 현재 접속사 수를 알 수 있을것이고
접속한 사람들의 아이디를 알고 싶다면 파일들의 이름을 출력하면 되고
접속한 사람들의 이름을 알고 싶다면, 미리 파일에 이름을 저장해 두고, 이를 읽어 출력하거나 디비에서 읽어 출력하면 되겠죠.
index.php 부분에 접속자 관련 부분을 아래처럼 수정하십시오..
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);
}
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);
}
나라오르님께서 말씀하신대로 해도 안되네요~ ㅠㅠ
답이 없는건지... 어렵군요~
답이 없는건지... 어렵군요~