2013-04-05 3 views
0

이 포럼에서이 문제점을 찾으려고했지만 시도 할 수 없었습니다. 그래서 새로운 지위를 만들고있어. 가능한 경우 나를 올바른 솔루션으로 리디렉션하도록 요청하십시오.PHP 쿠키 변수가 프로그램간에 삭제 중임

문제점 : javascript SDK를 사용하여 내 프로그램에서 Facebook 로그인을 사용하려고합니다. 사용자의 수락이 확인되면 사용자에게 전자 메일 아이디가 이미 등록되었는지 여부를 확인하고 계정을 연결하고 사용자를 자신의 홈페이지로 리디렉션하는 PHP 프로그램에 전달합니다.

유효성 검사 프로그램의 쿠키에 사용자의 사용자 ID를 등록하려고합니다. 문제는 내 유효성 검사 프로그램의 마지막 줄에서 $ _COOKIE에 var_dump를 수행 할 때 userid라는 변수를 볼 수 있지만 내 홈페이지의 첫 번째 행에서 동일한 작업을 수행 할 때 변하기 쉬운. 쿠키 변수가 페이지 사이 어딘가에 손실됩니다.

두 페이지의 첫 번째 코드 줄에는 session_start()가 있습니다.

미리 감사드립니다.

감사합니다, Himanshu

코드 추가 mypage.php에서

setcookie("user", $user, time()-86400); 
setcookie("user", $user, time()+86400,"/"); 
setcookie("userid", $id, time()-86400); 
setcookie("userid", $id, time()+86400,"/"); 
setcookie("name", $fname, time()-86400); 
setcookie("name", $fname, time()+86400,"/"); 
setcookie("fb", '1', time()-86400); 
setcookie("fb", '1', time()+86400,"/"); 


if((!$_SESSION['where'])||($_SESSION['where'] == '')) 
{ 
    header("Location: http://www.xyz.com/mypage.php"); 
} 
else 
{ 
header("Location: $url"); 
} 

, 처음 두 줄은 아래 같습니다

<?php 
session_start(); 
print_r($_COOKIE); 

는 지금

+1

당신이 몇 가지 코드를 추가 할 수 있습니까? –

+0

'session_start()'는 쿠키 저장 세션 아이디 이외의 쿠키와 전혀 관련이 없습니다. 동일한 도메인에있는 프로그램입니까? –

+0

프로그램이 동일한 도메인에 있습니다. –

답변

0

이 있습니까 명확 희망 당신은 setcookie을 사용하고 $ _ 쿠키 변수? setcookie은 쿠키 파일에 기록하는 반면 $ _COOKIE는 사용자가 페이지로드시 쿠키로 갖는 상태입니다.

간체 버전 : setcookie으로 작성하고 $ _COOKIE으로 읽습니다. $ _COOKIE에 액세스 할 수 있어야하는 경우 setcookie 호출과 함께 $ _COOKIE를 설정하면됩니다.

예 :

<?php 
//write 
    setcookie('name', $value, $expirationInSeconds); 
    $_COOKIE['name'] = $value; 
//read 
    $id = $_COOKIE['name']; 
+0

질문을 코드 스 니펫으로 업데이트했습니다. 두 페이지를 별도로 수동으로 호출하면 변수가 표시됩니다. 헤더가 URL을 리디렉션하도록 허용 할 때 나는 그들을 보지 못합니다. –

+0

@HimanshuJoshi 당신은 setcookie에서 도메인을 올바르게 설정 했습니까? 'setcookie ('LOGIN_DATA', $ classData, time() + $ 만료, '/', null, false, true); ' (기본적으로'null '도메인 집합) 귀하의 웹 사이트 도메인 이름) –