세션(session) 유지 문제 채택완료

8년 전 조회 5,397

안녕하세요~ 다름이 아니라 푸쉬관련해서 그누보드와 Firebase로 개발을 진행했는데요


앱에서->웹으로 토큰값을 전달하고

웹에서->db로 토큰값을 저장하는 대략적인 구조입니다.


그런데 회원아이디별로 푸쉬설정을 주기위해서 토큰값을 세션으로 주엇는데..이게...여기서 문제가 생기네요

토큰값을 세션으로 넣고 유지해야하는데...유지가 안되네요...


registToken.php

앱 ->웹 으로 올때 토큰값을 db에 저장해주는 부분 

Copy
<?phpinclude_once('../common.php');//header('P3P: CP="NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE"'); if(isset($_POST["Token"])){  $token = $_POST["Token"];        $_SESSION["dtkn"] = $token;        //alert("토큰저장까지 들어옴");  //데이터베이스에 접속해서 토큰을 저장        //error_reporting(E_ALL);         //ini_set("display_errors", 1);  include_once 'fcmConfig.php';  $conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);  $query = "INSERT INTO fcm_tokens(tokens) Values ('$token') ON DUPLICATE KEY UPDATE tokens = '$token'; ";  mysqli_query($conn, $query);  mysqli_close($conn); }//else{//        alert("토큰저장 실패");//    }?>


위와같이 세션을 저장해서

아래에 login_check.php 에서 세션값을 처리해야하는데

세션이 유지가 안되는것 같네요...


login_check.php

에서 하단부분

Copy
//print_r($_SESSION);if($_SESSION["dtkn"]) {//    $sql= " update {$g5['member_table']} set m_tokens = '{$_SESSION['dtkn']}' where mb_id = '{$mb['mb_id']}' ";//    sql_query($sql);    sql_query("INSERT INTO fcm_tokens(tokens, mb_id) Values ('{$_SESSION['dtkn']}', '{$mb['mb_id']}') ON DUPLICATE KEY UPDATE Token = '{$_SESSION['dtkn']}', mb_id = '{$mb['mb_id']}'");   // alert("세션저장 성공");}//else{//    alert("세션토큰저장 실패");//}


아래는 제가 생각하고있는 로직 입니다.

7c4954a157142defa63b883b156638af_1499255638_5259.jpg 

앱(웹뷰)을 실행하면 하나는 index.php라는 메인이 켜지고 다른 함수에서는 registToken.php로 토큰을 전달해줍니다.

여기서 registToken.php은 세션을 생성하구요

그 세션은 login_check.php 에 참조가 되어야 합니다..


어떻게하면 정상적으로 세션이 넘어오고 db에 저장이 될까요?

답변 1개

채택된 답변
+20 포인트

index.php 실행 이전에 registToken.php 를 먼저 실행시켜보는건 어떠신가요?


아니면 DB 에 insert 한 이후에 login_chk.php 부분에서 세션으로 조건을 주지마시고, DB 값으로 조건을 주시는건 어떠신가요?

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

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

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

로그인
🐛 버그신고