2011-08-07 6 views
1

가능한 중복 :쿠키는 가치를 유지하지 않습니까?

function validateUser($username) { 
    session_regenerate_id(); 
    $_SESSION['valid'] = 1; 
    $_SESSION['username'] = $username; 
    setcookie('username2',$username,time()+60*60*24*365,'/'); 
    header("Location: ../new.php"); 
    exit(); 
} 

함수가 호출됩니다 : 나는 쿠키와 두 개의 세션을 설정하기 위해 다음과 같은 기능을 가지고
Why are my cookies not setting?

if(mysql_num_rows($queryreg) != 0){ 
$row = mysql_fetch_array($queryreg,MYSQL_ASSOC); 
$hash = hash('sha256', $row['salt'] . hash('sha256', $password)); 
if($hash == $row['password']) { 
    if($row['confirm'] == 1){ 
     if(isset($remember)){ 
      setcookie('username',$username,time()+60*60*24*365,'/'); 
      setcookie('password',$password,time()+60*60*24*365,'/'); 
     } else { 
      setcookie('username','',time()-3600,'/'); 
      setcookie('password','',time()-3600,'/'); 
     } 
     validateUser($username); 

그러나 test.php에 디버깅 목적으로 echo $_COOKIE['username2']; exit();을 추가했습니다. 그러나 쿠키는 매번 두 명의 사용자 중 하나 인 jason으로 등장합니다. 로그인 한 사람과 관계없이

희망적입니다. http://stackoverflow.com/questions :

+0

중복 호출에

session_start() 

깜빡하지 마십시오/6970754/why-are-my-cookies-not-setting http://stackoverflow.com/questions/6974379/cookie-and-session-errors –

+0

1) 사실'validateUser()'함수를 호출하고 있습니까? 2)'validateUser()'를 호출하는 페이지에서'session_start()'를 호출합니까? –

+0

로그인 정보가 어디에서 오나요 & 로그인이 잘못되었을 때 쿠키의 설정을 해제 하시겠습니까? 로그인이 잘못되어도 쿠키를 설정하고 있습니까? 당신은 쿠키를 지우고 디버깅을 시도해 보셨습니까? 'var_dump()'와'die()'를 사용하면 위의 코드에 별다른 차이가 없습니다 ... –

답변

0

은 당신의 new.php

하고

validateUser() 

기능

+0

사용자가 로그인 할 때 한 번만 유효성을 검사해야합니까? 이 데이터를 한 번만 설정하려고합니다. – Jason

+0

최근 수정 사항을 확인하십시오. – Jason

+0

@ Jason : 1. 쿠키에 사용자의 비밀번호를 저장하지 마십시오. 2. 그 밖의 단어를 추가하십시오. – genesis

관련 문제