아래는 회원로그인상태를 이미지로 나타내주는 잘 작동되는 팁입니다.
1. list.skin.php 맨위에 추가 $logArr=array();$result=sql_query(" select mb_id from $g5[login_table] where mb_id<>''"); while($row=sql_fetch_array($result)) $logArr[]=$row[mb_id]; 2. for 문에 추가 $logimg="/img/icon_member_off.gif";if($list[$i][mb_id] && in_array($list[$i][mb_id], $logArr)) $logimg="/img/icon_member_on.gif"; 3.출력할 곳에 추가 <img src='<?php echo $logimg ?>'>
회원 사이드뷰에서 '쪽지보내기'를 클릭하면
받는분의 아이디가 지정되어 나타나는 쪽지창이 새창으로 뜹니다.
저는 거기에 이것을 적용해보고자 하는데요.
그래서 쪽지창 스킨에 아래와 같이 작업했습니다. 잘안나오네요.
고수님들 소스 좀 봐주세요.
memo_form.skin.php
<?phpif (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 //추가! 글쓴이 로그인중인지 표시$logArr=array();$result=sql_query(" select mb_id from $g5[login_table] where mb_id<>''"); while($row=sql_fetch_array($result)) $logArr[]=$row[mb_id]; // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);?> <!-- 쪽지 보내기 시작 { --><div id="memo_write" class="new_win mbskin"> <h1 id="win_title">쪽지 보내기</h1> <ul class="win_ul"> <li><a href="./memo.php?kind=recv">받은쪽지</a></li> <li><a href="./memo.php?kind=send">보낸쪽지</a></li> <li><a href="./memo_form.php">쪽지쓰기</a></li> </ul> <form name="fmemoform" action="<?php echo $memo_action_url; ?>" onsubmit="return fmemoform_submit(this);" method="post" autocomplete="off"> <div class="tbl_frm01 tbl_wrap"> <table> <caption>쪽지쓰기</caption> <tbody> <?php for ($i=0; $i<count($list); $i++) { //추가! 글쓴이 로그인중인지 표시 $logimg="/img/icon_member_off.gif"; if($list[$i][mb_id] && in_array($list[$i][mb_id], $logArr)) $logimg="/img/icon_member_on.gif"; ?> <tr> <th scope="row"><label for="me_recv_mb_id">받는 회원아이디<strong class="sound_only">필수</strong></label></th> <td> <input type="text" name="me_recv_mb_id" value="<?php echo $me_recv_mb_id ?>" id="me_recv_mb_id" required class="frm_input required" size="47"> <span class="frm_info">여러 회원에게 보낼때는 컴마(,)로 구분하세요.</span> <?php /*받는이 mb_1이미지 출력*/ $mb = get_member($me_recv_mb_id); $mb_avatar = "/img/".$mb['mb_1'].".png"; if( file_exists( G5_PATH.$mb_avatar ) ){ }else{ $mb_avatar = "/img/at0.png"; } ?> <img src="<?php echo $mb_avatar ?>" style="display:block; border-radius:50%; width:80px; height:80px; margin:0 auto; background:#fff; border:1px solid #dbdbdb;"> 받는이: <?php echo $mb[mb_nick]; ?> 로그인상태: <img src='<?php echo $logimg ?>'> </td> </tr> <tr> <th scope="row"><label for="me_memo">내용</label></th> <td><textarea name="me_memo" id="me_memo" required class="required"><?php echo $content ?></textarea></td> </tr> <?php/* <tr> <th scope="row">자동등록방지</th> <td> <?php echo captcha_html(); ?> </td> </tr>*/?> </tbody> </table> </div> <div class="win_btn"> <input type="submit" value="보내기" id="btn_submit" class="btn_submit"> <button type="button" onclick="window.close();">창닫기</button> </div> </form></div> <script>function fmemoform_submit(f){ <?php echo chk_captcha_js(); ?> return true;}</script><!-- } 쪽지 보내기 끝 -->
답변 2개 / 댓글 2개
목장주님이 알려주셨습니다.
1. 맨위에
$r_member_id=$_POST['me_recv_mb_id'];
$row = sql_fetch("select mb_id from $g5[login_table] where mb_id='$me_recv_mb_id' order by lo_datetime DESC");
if(!empty($row[mb_id]))$login_ok=1;
2.그다음
<?php
if($login_ok==1)$logimg="/img/icon_member_on.gif";
else $logimg="/img/icon_member_off.gif";
?>
3. 출력할곳에
<img src='<?php echo $logimg ?>'>
소스를.. 보니....
$sql = sql_query(" select mb_id from $g5[login_table] where mb_id='$me_recv_mb_id' ");
$result = @sql_fetch($sql);
if($result['mb_id']) {
$mb = get_member($result['mb_id']);
$mb_avatar = "/img/".$mb['mb_1'].".png";
if( file_exists( G5_PATH.$mb_avatar ) ){
}else{
$mb_avatar = "/img/at0.png";
}
}
답변에 대한 댓글 2개
<?php
$sql = sql_query(" select mb_id from $g5[login_table] where mb_id='$me_recv_mb_id' ");
$result = @sql_fetch($sql);
$logimg="/img/icon_member_off.gif";
if($result['mb_id']) $logimg="/img/icon_member_on.gif";
?>
<img src='<?php echo $logimg ?>'>
이렇게 하시면 될것 같은데요...
답변을 작성하려면 로그인이 필요합니다.
'로그인상태 이미지표시인 '
<img src='<?php echo $logimg ?>'>
이부분이 잘 안나와서 여쭙는겁니다. ^^