채택완료

로그아웃 후 창 닫기.

2019-04-23 (화) 08:44:50 4,728

goto_url($link);

부분을

goto_url('특정 페이지 URL');

이렇게 변경하면 특정 URL로 이동하는건 잘 되는데

로그아웃시에는 창이 그냥 경고 없이 닫히게 하고 싶습니다.

도움부탁드려요~

|

답변 5개 / 댓글 7개

채택된 답변
+20 포인트

안내메세지후 닫는 파일인

/bbs/alert_close.php를 보시면


<script>
alert("<?php echo $msg; ?>");
window.close();
</script>

이런 로직이 있는데

여기에서 alert을 안하고

그냥 닫으시면


<script>
window.close();
</script>

를 원하시는 부분에 넣어주셔야겠죠

<?php

// logout.php 을 참고해서 logout 처리

// php 코드영역

?>

<script>
window.close();
</script>

답변에 대한 댓글 6개

https://talkit.tistory.com/91

이글도 참고헤보세요
답변 감사합니다.
경고 없이는 어렵군요. 그냥 간단하게 만들면되서 어려운 함수까지는 괜찮을꺼 같아요.
그럼 그냥 창만 닫게 하려면 어떻게 해야 할까요? ;ㅁ;
@funnyrin 위에 적어드린게 가장 간단한것입니다.
저걸 bbs/logout.php 페이지

goto_url($link);에 적용 시키는 건가요?

(너무 몰라서 죄송합니다;)
@funnyrin

logout.php 에 적용을 시키시려면



//goto_url($link);
?>

<script>
window.close();
</script>

와 같이 되겠죠
정말 감사드립니다. ^^

답변 감사합니다.
초보라, 경고 없이라는게 이렇게 무식한 발언일줄이야;;;

그래도 조언 너무 감사드립니다.

그냥 경고창이 나와도 되니 창이 닫히게 하는 내용만 알려주시면 감사하겠습니다.

브라우저마다 정책이 조금씩 차이가 있지만 경고창 없이 닫기는 보안이슈로 지원하지 않는 경우가 있습니다. 참고하시기 바랍니다.

2019-04-23 (화) 09:16:51

commom.lib.php에 추가적으로 함수를 만드셔야 할 것 같습니다.

goto_url_close($url) {

    $url = str_replace("&amp;", "&", $url);
    //echo "<script> location.replace('$url'); </script>";

    if (!headers_sent())
        header('Location: '.$url);
    else {
        echo '<script>';
        echo 'location.replace("'.$url.'");';

        echo 'self.close();';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
        echo '</noscript>';
    }
    exit;

}

머 이런식으로요

답변에 대한 댓글 1개

답변 감사합니다.
경고 없이는 어렵군요. 그냥 간단하게 만들면되서 어려운 함수까지는 괜찮을꺼 같아요.
그럼 그냥 창만 닫게 하려면 어떻게 해야 할까요? ;ㅁ;
2019-04-23 (화) 09:13:08

경고 없이 닫을수 없습니다.

사용하는 브라우저 마다 특성이 있기 때문에 일반창에서 닫을때는 항상 경고창이 뜹니다. 

답변을 작성하려면 로그인이 필요합니다.