쪽지에서

쪽지에서

QA

쪽지에서

본문

쪽지 알림을 레이어로 이런식으로 띄웠어요,,,,

https://sir.kr/g5_skin/26521?sfl=wr_subject%7C%7Cwr_content&stx=%EC%AA%BD%EC%A7%80

 

레이어 클릭시 바로 게시판 해당 페이지로 가도록...

memo 테이블에

me_link를 추가해서 저장했습니다.

 

레이어클릭하면 페이지로 바로 넘어갑니다.

그런데 이게...여기서부터가 남이 잘 안하는거에요,,ㅋ

 

head.php에

아래 처럼 넣었습니다. 링크 잘 작동합니다.

그런데 이렇게 레이어에서 링크를 바로 타고 넘어가니

쪽지함에서 클릭하는 것과 달리...읽은 쪽지로 업데이트가 안되여...

당연한 거지만요,,,

쪽지함에서 클릭한 거 처럼 쪽지 읽은 시간을 업데이트 해줘야 안읽은 쪽지 갯수가 바뀔거 같은데..

이런거는 어떻게 할 수 있을까요?

 

<?php
//로그인시 쪽지 왔는지 알려주는 
if ($is_member) {
    //쪽지 테이블에서 마지막 쪽지를 읽어온다.
    $sql = "select * from {$g5['memo_table']} where me_recv_mb_id = '{$member['mb_id']}'  and me_read_datetime = '0000-00-00 00:00:00' order by me_id desc limit 0,1 ";
    $result = sql_fetch($sql);    
    $get_nick = get_member($result['me_send_mb_id'], $fields='mb_nick');
    $get_name = get_member($result['me_send_mb_id'], $fields='mb_name');
$me_subject=$result['me_subject'];
$me_link=$result['me_link'];

    if ($result) {
        //새창을 띄워준다.
        $msg = "<span style='color:black;font-weight:bold'>{$get_name['mb_name']} ({$get_nick['mb_nick']})</span> 님의 쪽지가 도착했습니다. <span style='color:black;font-weight:bold'>{$me_subject}</span>";
        $me_link = $me_link;        
        


?>
<div class="memo_alert">
  <span class="closebtn" onclick="this.parentElement.style.display='none';">X</span> 
  <a href="<?php echo $me_link?>">
<span style="color:white;"><?php echo $msg?></span></a> 
 
</div>
<?php }     } ?>

   

 

이 페이지에 

 

    $sql = " update {$g5['memo_table']}
                set me_read_datetime = '".G5_TIME_YMDHIS."'
                where me_id = '$me_id'
                and me_recv_mb_id = '{$member['mb_id']}'
                and me_read_datetime = '0000-00-00 00:00:00' ";
    sql_query($sql);
이걸 넣으라는데 넣어도 안되네요,,,

이 질문에 댓글 쓰기 :

답변 5

위 방법으로도 안되면 약간 야매이긴 하지만

쪽지 보는 부분에서 숨겨진(0px 또는 hidden 처리된) iframe 하나 만드시고

해당 쪽지를 iframe 으로 중복으로 열면 일단 해결되실듯 한데요.

쪽지 보는 부분에서 숨겨진(0px 또는 hidden 처리된) iframe 하나 만드시고

해당 쪽지를 iframe 으로 중복으로 열면 ....이게 상당히 어려운 말이라 이해가 안됩니다.ㅋ
쪽지 보는페이지라는게 링크로 이동된 페이지에 아이프레임을 넣은다는것인지...등...

일단 저 쿼리문 $sql 안에 넣으신내용들은   정상적인 쿼리문 형태로 나오고는 있나요!? 중간에 변수들 값안바뀌거나 그런건 없나요?


if ($is_member) {
    //쪽지 테이블에서 마지막 쪽지를 읽어온다.
    $sql = "select * from {$g5['memo_table']} where me_recv_mb_id = '{$member['mb_id']}'  and me_read_datetime = '0000-00-00 00:00:00' order by me_id desc limit 0,1 ";
    $result = sql_fetch($sql);   
    $get_nick = get_member($result['me_send_mb_id'], $fields='mb_nick');
    $get_name = get_member($result['me_send_mb_id'], $fields='mb_name');
$me_subject=$result['me_subject'];
$me_link=$result['me_link'];

    if ($result) {
        //새창을 띄워준다.
        $msg = "<span style='color:black;font-weight:bold'>{$get_name['mb_name']} ({$get_nick['mb_nick']})</span> 님의 쪽지가 도착했습니다. <span style='color:black;font-weight:bold'>{$me_subject}</span>";
        $me_link = $me_link;       
       
이부분은 정상으로 표출됩니다.

이론상 쪽지 본문에 들어 가면 읽은쪽지로 간주합니다.

그러나 그러기 위해서는 조건이 필요합니다.

링크가 잘못된듯 싶네요..

 

아래 링크를 참고해 보세요..

 

$me_link=G5_BBS_URL.'/memo_view.php?me_id='.$result['me_id'];
 

번번이 감사합니다.
원리가 그렇군요,,,me_link는 쪽지 본문으로 가지 않고 링크의 페이지로 바로가기 위해
추가한겁니다. 그래서 링크 페이지로 바로 가서 좋은데...
쪽지 본문으로 들어가지는 않아서 안읽은 쪽지의 갯수에 변동이 없는 상태입니다.

 

쪽지 보기 본체 파일에서 업데이트 시킬때  조건이 me_id와 맞다면 업데이트 하시오라고 돼 있습니다.

 

$sql = " update {$g5['memo_table']}
set me_read_datetime = '".G5_TIME_YMDHIS."'
where me_id = '{$result['me_id']}'
and me_recv_mb_id = '{$member['mb_id']}'
and me_read_datetime = '0000-00-00 00:00:00' ";
sql_query($sql);

 

 

원리가 그렇군요,,,
에드프로님 방법이 간단해보여서
<iframe src="/bbs/memo_view.php?me_id=<?=$me_id?>&kind=recv&page=1" style="width: 0; height: 0; border: 0; border: none; visibility: hidden;"></iframe>

헤드에 위와 같이 넣으니 링크이동되면서 쪽지 본거처럼 해결하였습니다.
감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,525 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT