2017-03-23 1 views
0

Javascript의 readcookie 함수에서 null이 아닌 응답을받는 데 문제가 있습니다. 이상 적으로는 ID가 데이터베이스에 존재하는지 아닌지에 대한 부울 응답을 얻지 만 현재는 null로만 올라갑니다. 저장된 쿠키를 살펴본 결과 IDFound 쿠키가 전혀 저장되지 않았습니다.PHP에서 javascript로 쿠키를 가져 오는 방법은 무엇입니까?

자바 측 :

function readCookie(name) { 
    $.get("/test/phpServerGet.php","function(result){}") 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0;i < ca.length;i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1,c.length); 
     if (c.indexOf(nameEQ) == 0){ console.log("found") 
     return c.substring(nameEQ.length,c.length)}; 
    } 
    return null; 
} 

PHP :

<?php 
require_once 'path_to_db_connect.php'; 
$id_exists = false; 
$CollegeID = $_COOKIE["CollegeID"]; 
echo $CollegeID; 
$request = $connect->prepare("SELECT `CollegeID` FROM `users` WHERE `CollegeID` = ?;"); 
$request->execute(array($CollegeID)); 
$result = $request->fetch(PDO::FETCH_ASSOC); 
$cookie_name = "IDFound"; 
if ($result['CollegeID'] == $CollegeID) 
{ echo "YES"; 
     $id_exists = true; 
} 

else if ($result['CollegeID'] != $CollegeID) 
{ 
     $id_exists = false; 
} 
setcookie($cookie_name, $id_exists, 1000); 
?> 
+0

[JS 이름으로 쿠키 가져 오기] (http://stackoverflow.com/questions/10730362/get-cookie-by-name) 이것은 도움이 될 수 있습니다. – dsadnick

+0

@dsadnick 살펴 본 결과 쿠키가 전혀 생성되지 않고 있습니다. 읽기 기능이 정상적으로 작동하고 있습니다. –

답변

0

PHP set cookie

는 3 인수 (1000)에 설정되어
setcookie($cookie_name, $id_exists, 1000); 

, 교체하려고 그와

time() + 60 
setcookie($cookie_name, $id_exists, time() + 60); 

이렇게하면 브라우저가 쿠키를 찾아 구문 분석 할 시간을 더 확보해야합니다. time() + 60은 1 분입니다.

관련 문제