2009-03-10 4 views
3

Mac 노트북에서 개발 중이며 MAMP를 사용하고 있습니다. PHP로 쿠키를 설정하려고하는데 할 수 없습니다. 나는 도메인을 그만 두었고, 도메인에 대해 "\"를 사용하려고했습니다. 불운.MAMP + MacOSx + PHP를 사용하여 localhost에 쿠키를 설정하는 방법은 무엇입니까?

setcookie("username", "George", false, "/", false); 
setcookie("name","Joe"); 

나는 분명히 뭔가를 놓치고 있어야합니다. 나는 이것에 빠르고 간단한 해결책이 필요하다. 하나 있습니까?

나는 공상 아무것도, 단순히 (MAMP를 통해)로드 페이지를 안할거야

, http://localhost:8888/MAMP/lynn/setcookie.php

그 스크립트는 상단에있는 이기에, setcookie 코드, 이전에도 HTML 태그를 작성 할 수 있습니다. (비록 내가 신체에서 그것을 시험해 보았지만). 다양한 브라우저에서 페이지를로드 한 다음 쿠키 목록을 엽니 다. 브라우저에서 현재 쿠키를 볼 수 있기 때문에 쿠키를 허용한다는 것을 알고 있습니다. 내 새 것만은 아니야. 워드 프로세서

+0

브라우저에서 쿠키를 볼 수 없거나 다음 번 방문시 PHP로 반환되지 않습니다 (var_dump ($ _ COOKIE))? –

+0

브라우저에서 쿠키를 볼 수 없거나 다양한 브라우저의 쿠키 목록에서 쿠키를 볼 수 없습니다. – lynn

+1

PHP 태그 Simon

답변

6

:

의 setcookie()는 HTTP 헤더의 나머지와 함께 전송되는 쿠키를 정의합니다. 다른 헤더와 마찬가지로 스크립트의 출력 전에 쿠키를 보내야합니다 (프로토콜 제한). 따라서 공백뿐만 아니라 태그를 포함하여 출력하기 전에이 함수를 호출해야합니다.

그게 뭡니까?

편집

:

당신이 쿠키를 볼 수는 서버에서 전송되는, 예를 들어, Firefox 확장자 변조 데이터 또는 telnet을 사용 하시겠습니까? 다음 요청시 브라우저에서 다시 전송 된 것을 볼 수 있습니까? setcookie()의 반환 값은 무엇입니까? 모든 브라우저에서 작동하지 않습니까, 아니면 일부 브라우저에서만 작동합니까?

+0

문제가없는 것 같습니다. – lynn

+1

setcookie() 호출 전에 PHP 스크립트의 빈 줄이 있습니까? 또는 첫 번째

+0

예! 그거였다. – lynn

0
<?php 
ob_start(); 
if (isset($_COOKIE['test'])) { 
    echo 'cookie is fine<br>'; 
    print_r($_COOKIE); 
} else { 
    setcookie('test', 'cookie test content', time()+3600); /* expire in 1 hour */ 
    echo 'Trying to set cookie. Reload page plz';  
} 

시도해보십시오.

0

"localhost"를 가져 와서 빈 문자열 만 사용하면 효과적입니다.

관련 문제