PHP 세션 유지 시간 설정방법 채택완료

안녕하세요. PHP 세션 관련 질문드립니다.

참고로 PHP는 그누보드를 조금 수정해서 사용하는 정도 밖에 모릅니다.

 

현재 프로세스

1. 그누보드를 이용 중입니다.

2. 고객은 xxx.xxx/reseller.php?ms_rid=리셀러아이디 와 같은 URL 로 접속합니다.

3. reseller.php 에서 세션 생성 후, xxx.xxx/index.php 로 이동합니다.

4. 고객이 회원가입 시 추천인에 리셀러아이디가 자동으로 입력됩니다. (세션 이용)

 

문제점

브라우저를 닫았다 열면 세션이 지워져서, 고객이 재접속 시 추천인에 리셀러아이디가 입력되지 않습니다.

 

원하는 해결책

그래서 리셀러아이디 세션이 생성되면 이 부분만 약 1주일 정도 유지되게 하고 싶습니다.

 

도움 부탁드립니다.

 

reseller.php

 

Copy
if ($_GET['ms_rid']) $_SESSION['ms_rid'] = $_GET['ms_rid'].'-'.time();
 

 

register_form.skin.php

 

Copy
if ($_SESSION['ms_rid']) {$ms_rid = explode('-', $_SESSION['ms_rid']);$ms_rid = $ms_rid[0];}
 

 

답변 3개

채택된 답변
+20 포인트

세션 대신 쿠키로 하심이... ^^

 

reseller.php

 

Copy
if ( isset($_GET['ms_rid']) ){    set_cookie('store_ms_rid', addslashes(strip_tags($_GET['ms_rid'])), 86400 * 7 );   //86400 은 하루입니다. 곱하기 7 하면 일주일}

 

register_form.skin.php

 

Copy
if ( $return_value = get_cookie('store_ms_rid') ){    $ms_rid = $return_value;}
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

고맙습니다. :)

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

임시키를 발행해서 쿠키를 이요하셔야 할 것 같습니다.

클라이언트에는 남는 정보는 쿠키뿐이니깐요.

로그인 후 평가할 수 있습니다

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

세션으로 1주일이나 체크하고 하는것보다 db에 아이디넣고 생성날짜 넣고

날짜 체크해서 이용하는게 더좋아보이네요 

로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고