2012-02-03 10 views
0

쿠키를 설정했는데 정상적으로 작동합니다. 본질적으로 그 코드를 다른 서버의 다른 웹 페이지로 복사했고 코드가 작동하지 않습니다. 이 코드는 if 문 안에 있지만 디버깅을 위해 브라우저에 코드를 표시했기 때문에 트리거를 알았습니다. 내 다음 페이지에 도착하고 존재하는 모든 쿠키에 대한 검사를 수행 할 때간단한 쿠키가 설정되지 않습니다.

<?php 
    // Set some cookies 
      $user = stripslashes($_POST['user']); 
      $password = md5($_POST['password']); 
      $hour = 0; // Changed to expire on browser close, was time() + 86400; 

      setcookie(Panel_ID, $user, $hour); echo "setcookie(Panel_ID, $user, $hour);"; 
      setcookie(Panel_PW, $password, $hour); echo "setcookie(Panel_PW, $password, $hour);"; 
?> 

그리고 아직, 그 두 가지가 설정되어 있지 않습니다.

<?php  
echo "Cookies set are..."; 
print_r($_COOKIE);  
?> 

다음 몇 쿠키가 존재있다하지만 그들은 웹 사이트의 포럼에서 있습니다, 두 내가 설정 한없는 그.

이 난 변수 문제 또는 아무것도 배제하기 위해 매우 간단한 쿠키를 시도 :

<?php 
    setcookie(test,scott,0); 
?> 

을 그리고 그 하나 하나 설정되지 않습니다.

+0

* plaintext *의 쿠키에 사용자의 비밀번호를 설정하고 있습니까? – cmbuckley

+0

아니요, 그 코드는 실제로 이미 코드 위로 변환되었습니다. –

+0

거기에, 그것도 여기에 그것을 보여줍니다;) –

답변

1

마지막으로 대답을 찾았습니다.

setcookie 전에 HTML을 만들 수 없다고 언급 한 쿠키 관련 게시물을 발견했습니다. 내 코드를 옮기고 여전히 문제가 발생했습니다 (변경 없음). 그런 다음 다른 섹션보다 먼저 트리거되도록 코드를 옮겼습니다. 기본적으로 해당 페이지에는 if (isset ($ user)) 및 if가 설정되어 있지 않습니다. 쿠키가 설정되기 전에 HTML이 전혀 읽히지 않았으므로 if isset을 다른 섹션 위로 옮겼습니다 (트리거되지 않은 if 문 내부에 있기 때문에 그렇게해서는 안됩니다). 마침내 작동했습니다.

1

setcookie의 첫 번째 인수는 문자열이어야합니다 ... 쿠키 이름을 변수로 입력하는 것처럼 보입니다. 첫 번째 인수를 따옴표로 묶으십시오.

+0

변경하지 마십시오. 첫 번째 섹션에서 인용 부호가없는 다른 서버에서도 똑같은 결과가 적용됩니다. –

관련 문제