1. 문제 상황 설명
다음 코드가 작동하지 않는 경우가 있습니다.
header("Location: index.php");
👉 페이지가 이동되지 않거나 오류 발생
2. 원인 분석
(1) 이미 출력이 발생한 경우
HTML, 공백, echo 등이 먼저 실행됨
(2) BOM 문제
파일 인코딩 문제
(3) exit 누락
코드가 계속 실행됨
3. 해결 방법
✔ header 전에 출력 금지
<?php
header("Location: index.php");
exit;
✔ 공백 제거
<?php // 파일 맨 위에 공백 없어야 함
✔ 출력 버퍼 사용 (대안)
ob_start();
header("Location: index.php");
exit;
4. 코드 예시
if ($login_success) {
header("Location: notice.php");
exit;
}
5. 정리
header()는 출력 전에 실행해야 함
exit는 반드시 같이 사용
공백 하나로도 오류 발생 가능
💡 “Headers already sent” 오류가 핵심 힌트다.
Login with Google