2014-10-17 3 views
0

작동하지 않습니다 로그인 그대로, 나는 checkbox 그래서 모든 사람이 로그인 상태를 유지하도록 선택할 수 있다는 나를 기억 사용자 추가 할 : 지금까지PHP : 나를 기억, 내 PHP 프로젝트에서

내가 내 같은 정상적인 로그 :

print_r($_COOKIE); 

지금 내가 함께 사이트를 떠나려고 : 내가 로그인하면

public function loginUser($psMail, $psPwd, $pnRememberMe = 0) { 
    // Check credentials and so on 
    // If mail and password matches 
    if(CREDENTIALS OKAY) { 
     $_SESSION["username"] = "foo"; 
     $lnExpire = time() + 3600 * 24 * 60; 
     setcookie("remember", base64_encode(USERID), $lnExpire); 
     setcookie("rememberToken", md5(SOMESTUFF), $lnExpire); 
    } 
} 

, 나는 함께 만든 쿠키 변수를 볼 수 있습니다 내 로그 아웃 기능 :

// Unset the session variables 
$_SESSION = array(); 
// Destroy the session. 
session_destroy(); 

이제 방문 페이지에있을 때 쿠키가 사라 졌습니까? 내 세션 사이트 설정 때문일 수 있습니까?

ini_set("session.use_only_cookies", "1"); 
ini_set("session.use_trans_sid", "0"); 

답변

0

PHP 함수 이기에, setcookie는 "쿠키가 사용할 수있는 서버의 경로"문서에서, 네 번째 인수 경로를 가지고있다. 기본적으로 경로를 실제 디렉토리로 설정합니다. "/"를 설정하십시오. 그러면 모든 도메인에서 사용할 수 있습니다. http://php.net/manual/en/function.setcookie.php

+0

흠, 한 나는이 경로를 설정할 수도 있고, 경우에 내 전체 프로젝트 기반에 대한 아약스 요청에? 디렉토리는 매번 동일하기 때문입니다. 아니면 logout.php의 끝에 window.location 나쁜가요? – Kelle

+0

이제 경로 속성을 사용하여 시도해 보니 문제가 해결되었습니다. 고맙습니다! :) – Kelle

0

이 코드를 사용해보십시오 그것이 작동합니다 희망 당신

if(count($_POST>0) && isset($_POST['checkbox'])) 
     { 
      setcookie('name',$_POST['uname'],time()+3600); 
      setcookie('password',$_POST['pw'],time()+3600); 
     } 
    elseif(count($_POST)>0) 
     { 

      setcookie('name','',time()-3600); 
      setcookie('password','',time()-3600); 
     } 
      if(count($_POST)>0 && $_POST['uname']!="" && $_POST['password']!="") 
     { 
      if(isset($_COOKIE['name']) && isset($_COOKIE['password'])) 
     { 

      echo $_COOKIE['name']; 
      echo $_COOKIE['password']; 

     } 

여기에 로그인 세부 코드 .....