쿠키 값으로 방문자 횟수 표시
📌 코드 흐름 요약
- 쿠키 이름 지정→ 방문 횟수를 저장할 쿠키 이름을 visitCount로 설정
- $cookieName = 'visitCount';
- 현재 쿠키 값 확인→ 쿠키가 있으면 숫자로 변환, 없거나 잘못된 값이면 0으로 초기화
- $current = isset($_COOKIE[$cookieName]) && ctype_digit($_COOKIE[$cookieName]) ? intval($_COOKIE[$cookieName]) : 0;
- 방문 횟수 증가→ 현재 값에 1을 더해 새로운 방문 횟수 계산
- $next = $current + 1;
- 쿠키 저장 (보안 옵션 포함)
- setcookie($cookieName, strval($next), [ 'expires' => time() + 365*24*60*60, // 1년 유지 'path' => '/', // 사이트 전체에서 사용 가능 'secure' => (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'), // HTTPS에서만 전송 'httponly' => true, // JS 접근 불가 (보안 강화) 'samesite' => 'Lax' // 크로스사이트 요청 제한 ]);
- 결과 출력→ 화면에 방문 횟수를 표시
- echo "당신의 방문 횟수: {$next}회";
<?php
// 쿠키 이름 지정
$cookieName = 'visitCount';
// 현재 쿠키 값 확인 (숫자면 변환, 없거나 잘못된 값이면 0으로 초기화)
$current = (isset($_COOKIE[$cookieName]) && ctype_digit($_COOKIE[$cookieName]))
? intval($_COOKIE[$cookieName])
: 0;
// 방문 횟수 증가
$next = $current + 1;
// 쿠키 저장 (보안 옵션 포함)
setcookie(
$cookieName,
strval($next),
[
'expires' => time() + 365 * 24 * 60 * 60, // 1년 유지
'path' => '/', // 사이트 전체에서 사용 가능
'secure' => (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'), // HTTPS에서만 전송
'httponly' => true, // JS 접근 불가 (보안 강화)
'samesite' => 'Lax' // 크로스사이트 요청 제한
]
);
// 결과 출력
echo "당신의 방문 횟수: {$next}회";
?>
🎯 최종 동작
- 처음 방문 시 → 당신의 방문 횟수: 1회
- 다시 방문 시 → 쿠키 값이 증가하여 2회, 3회 … 계속 누적
- 쿠키는 1년 동안 유지되며, 보안 옵션(secure, httponly, samesite)으로 안전하게 관리됨
👉 이렇게 정리하면, 이 코드의 목적은 사용자 브라우저에 쿠키를 저장해 방문 횟수를 누적 기록하고 출력하는 것이에요.