0
쿠키를 설정하고 검색하는 데 두 가지 문제가 있습니다.쿠키를 사용할 수 없음 Sitewide
- 쿠키는로드되지만 페이지를 새로 고침 할 때까지 호출 할 수 없습니다. 쿠키가 개발자 도구에 표시되지만 페이지에서 해당 값을 사용하려고 시도하지 않는 것을 의미합니다. 이 값은 새로 고침 후 페이지에서 사용할 수있는 것처럼 보입니다.
- 쿠키는 전체 도메인 및 하위 디렉터리에서 사용할 수 없습니다. 예를 들어 사용자가 http://example.com/sub/에 입력하면 http://example.com/으로 이동하면 쿠키가 삭제됩니다. 나는 사용자가에서 클릭 무엇 애드워즈 캠페인을 결정하여 전체 사이트에 걸쳐 서로 다른 정보를 표시하기 위해 노력하고있어
$ad_source = $_GET['source']; $date_of_expiry = time() + (86400 * 7); setcookie('ad_source',$ad_source,$date_of_expiry,'/'); if ($_COOKIE['ad_source'] == 'adwords_campaign_01') { echo '... do something'; } elseif ($_COOKIE['ad_source'] == 'adwords_campaign_02') { echo '... do something else'; }
:
여기 내 코드입니다.
저는 쿠키를 사용하지 않고 세션을 설정하는 것을 선호하지만,이 경우 나는 더 오랜 시간 동안 소스를 추적 할 수 있기를 원합니다.
, 스크립트의 시작에서, ('display_errors를'을, false)를 위해서는 ini_set 넣어하려고; error_reporting (0), 이것은 쿠키가 스크립트의 출력 전에 보내 져야만하는 곳의 doc 페이지에서 가져온 것입니다. 두 번째 요점은 함수의 문서 페이지에서도 언급 된 다섯 번째 매개 변수를 사용해보십시오. –
오류보고에 아무것도 표시되지 않았습니다. 또한 도메인을 다섯 번째 매개 변수로 추가하려고 시도했지만 차이가 없습니다. 동일한 결과가 발생했습니다. – CChoma
쿠키를 설정하기 전에 먼저 $ ad_source 확인을 확인하여 문제 2를 해결했습니다. if ($ ad_source) {setcookie ('ad_source', $ ad_source, $ date_of_expiry, '/');} – CChoma