인트로 다시 왔을 때 모든 세션 제거하려면?
본문
기존 질문: https://sir.kr/qa/401507
위 마르스컴퍼니 님 답변 중 이동 후 세션 생성 방식을 사용 가정 시,
다시 인트로로 왔을 때 기존 생성된 세션을 모두 제거하려면 어케 하는지?
인트로 상단에 아래처럼 넣어봤는데, 효과가 없네요.
<?php
session_start();
session_destroy();
?>
답변 2
이전 질문 내용도 확인해보았는데요
단발성 내용 같은데 굳이 세션을 이용하실 필요가 있는지가 먼저 궁금합니다.
운영하시는 사이트의 내용이나 성격은 모르겠지만 세션을 날려버리신다면 로그인한 회원(혹은 관리자) 까지 메인 페이지 접근시 로그아웃 처리가 될텐데요.
A,B 링크 마다 각기 다른 세션을 가지고 진행하고 메인(인트로) 로 돌아왔을때 세션을 제거해야한다면,
이걸 굳이 세션의 개념으로 이용하시고 싶으시다면, 쿠키를 이용하시거나, 단순한 정보 저장 용도 라면 html5 database 를 이용하시는게 좋아보입니다.
그리고
session_destroy();
를 사용했는데 세션이 초기화 되지않는다면
session_start();
이후에 print_r($_SESSION); 으로 담겨진 세션 변수 확인하시고, 변수를 초기화 해보세요
해당코드로 모든 세션이 제거되는 것으로 알고 있습니다.
왜 작동이 안되는 지는 잘 모르겠습니다.
(세션 관련 처리는 브라우저에 어떤 내용이 출력되기 전에만 실행이 될 수 있습니다.
HTML 내용 중간에 사용하게 되면.. 작동하지 않기는 합니다.)
다만, 모든 세션을 제거하면.. 다른 세션변수값이 모두 초기화되니..
특정 세션 변수만 삭제하고 싶다면 빈 값을 넣어주면 됩니다.
set_session("ss_link", "");
or
unset($_SESSION['ss_link']);