도움요청요. 접속자 관련 내용인데.. 정보
그누보드 도움요청요. 접속자 관련 내용인데..
본문
다른분게 도움청했지만 일단 혼자해보라는말에 곰곰히 생각을 해봤는데요.
문제내용은 다른사람들이 내홈페이지에 오게되면 접속자명단이 뜹니다. (ip주소)
10명이상이 되면 나머지 분들은 -접속 초과- 이런글을 뜨게하려고 하거든요.
즉,
255.255.255.0
255.255.255.0
.
.
.(10개 ip)
- 접속 초과 -
위식으로 하려고하는데
이걸 if 로 넣어서 제어 해야 되는건가요?
제생각에는 for ($i=0; $row=mysql_fetch_array($result); $i++) { 요기 부분쪽에
if 를 넣어서 제어하는거라고 생각하고 시도는 해봤는데요 이상하게 나와서
도움을 청합니다...
소스는 아래와 같습니다.
<table cellspacing=0 cellpadding=0 border=0 width=138>
<?
include "bbs/gblayer.php";
$sql = " select a.mb_id, b.mb_name, b.mb_icon, b.mb_email, b.mb_homepage, b.mb_open, a.lo_ip, a.lo_location
from $cfg[table_login] a left join $cfg[table_member] b on (a.mb_id = b.mb_id)
where IFNULL(b.mb_level,0) < '$cfg[level_max]'
order by a.lo_datetime desc ";
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++) {
if ($row[mb_id]) {
$mb_name = gblayer($row[mb_id], $row[mb_name], $row[mb_email], $row[mb_homepage], $row[mb_open]);
} else {
if ($member[mb_level] >= $cfg[level_max]) {
$mb_name = $row[lo_ip];
} else { // 관리자가 아니라면 IP 주소를 감춘후 보여줍니다.
$mb_name = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", "\\1.♡.\\3.\\4", $row[lo_ip]);
}
}
$list = $i%2;
$loc_href = htmlspecialchars($row[lo_location]);
if(strstr($loc_href,"PHPSESSID")) {
$loc_href = substr($loc_href,0,strpos($loc_href,"PHPSESSID"));
}
if ($member[mb_level] >= $cfg[level_max]) { // 관리자라면 사용자 화면으로 링크 설정
$loc_href = "<a href=$loc_href>$loc_href</a>";
}
?>
힌트라도 주심 감사함돠.
문제내용은 다른사람들이 내홈페이지에 오게되면 접속자명단이 뜹니다. (ip주소)
10명이상이 되면 나머지 분들은 -접속 초과- 이런글을 뜨게하려고 하거든요.
즉,
255.255.255.0
255.255.255.0
.
.
.(10개 ip)
- 접속 초과 -
위식으로 하려고하는데
이걸 if 로 넣어서 제어 해야 되는건가요?
제생각에는 for ($i=0; $row=mysql_fetch_array($result); $i++) { 요기 부분쪽에
if 를 넣어서 제어하는거라고 생각하고 시도는 해봤는데요 이상하게 나와서
도움을 청합니다...
소스는 아래와 같습니다.
<table cellspacing=0 cellpadding=0 border=0 width=138>
<?
include "bbs/gblayer.php";
$sql = " select a.mb_id, b.mb_name, b.mb_icon, b.mb_email, b.mb_homepage, b.mb_open, a.lo_ip, a.lo_location
from $cfg[table_login] a left join $cfg[table_member] b on (a.mb_id = b.mb_id)
where IFNULL(b.mb_level,0) < '$cfg[level_max]'
order by a.lo_datetime desc ";
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++) {
if ($row[mb_id]) {
$mb_name = gblayer($row[mb_id], $row[mb_name], $row[mb_email], $row[mb_homepage], $row[mb_open]);
} else {
if ($member[mb_level] >= $cfg[level_max]) {
$mb_name = $row[lo_ip];
} else { // 관리자가 아니라면 IP 주소를 감춘후 보여줍니다.
$mb_name = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", "\\1.♡.\\3.\\4", $row[lo_ip]);
}
}
$list = $i%2;
$loc_href = htmlspecialchars($row[lo_location]);
if(strstr($loc_href,"PHPSESSID")) {
$loc_href = substr($loc_href,0,strpos($loc_href,"PHPSESSID"));
}
if ($member[mb_level] >= $cfg[level_max]) { // 관리자라면 사용자 화면으로 링크 설정
$loc_href = "<a href=$loc_href>$loc_href</a>";
}
?>
힌트라도 주심 감사함돠.
댓글 전체

음헛헛헛헛 성공했습니다. 이뿌듯한 root님 조언 감사합니다.
드디어 0명의 IP가 초과하면 접속자수 초과 외 X명 이렇게 나옵니다.
아주 잘되는군요 ㅎㅎ
드디어 0명의 IP가 초과하면 접속자수 초과 외 X명 이렇게 나옵니다.
아주 잘되는군요 ㅎㅎ
세상님은 공부중 ....
>> if 를 넣어서 제어하는거라고 생각하고 시도는 해봤는데요 이상하게 나와서
시도를 어떻게 해보셨는지가 궁금하군요.
프로그램언어 문법중에 루프안에서 프로그램을 종료하지 않고 루프만 빠져나오는 명령어가 있습니다.
for 루프안에서 if문으로 체크가 되면 메세지 출력후 루프에서 빠져 나오시면 될듯합니다.
>> if 를 넣어서 제어하는거라고 생각하고 시도는 해봤는데요 이상하게 나와서
시도를 어떻게 해보셨는지가 궁금하군요.
프로그램언어 문법중에 루프안에서 프로그램을 종료하지 않고 루프만 빠져나오는 명령어가 있습니다.
for 루프안에서 if문으로 체크가 되면 메세지 출력후 루프에서 빠져 나오시면 될듯합니다.