setcookie에서 Cannot modify header information-headers already sent by 오류 해결 방법 상세 설명

1489 단어 phpsetcookie
.경고: Cannot modify header information - headers already sent by
다음은 다른 사람의 건의입니다.
방법1: PHP에서 쿠키의 사용은 제한되어 있습니다.1. setcookie를 사용하려면 탭을 사용하기 전에 2, setcookie를 사용하기 전에 echo 입력 내용을 사용해서는 안 된다. 3. 웹 페이지가 불러온 후에야 쿠키가 나타난다.위의 제한으로 인해 setcookie() 함수를 사용할 때'Undefined index','Cannot modify header information-headers already sent by'등을 배울 수 있습니다. 해결 방법은 내용을 출력하기 전에 쿠키를 생성하여 프로그램의 맨 위에 함수ob_를 넣을 수 있습니다.start();ob_start: 출력 버퍼 열기 함수 형식:void ob_start(void) 설명: 버퍼가 활성화되면 PHP 프로그램에서 온 모든 비파일 헤더 정보가 전송되지 않고 내부 버퍼에 저장됩니다.버퍼의 내용을 출력하기 위해ob_end_flush () 또는flush () 출력 버퍼의 내용입니다.방법2: 해결 Warning: Cannot modify header information - headers already sent by...며칠 전에 php를 넣은 스티커 시스템 테스트를 했는데 오류가 발생했습니다. Warning: Cannot modify header information - headers already sent by...오늘 또 Openads를 설치했는데 아직도 이 문제가 생겼어요.화났어.인터넷을 한참 찾았는데 어떤 사람이 파일 첫머리에 ob_를 써야 한다고 말했다start();실패하다.나중에 php를 켜세요.ini 그리고 output_buffering을 on으로 설정합니다.appache 다시 시작, OK.그게 해결책인가 봐요.특히 주의: (이것을 보고 문제를 해결했습니다.) 만약utf-8 인코딩을 사용한다면 반드시 UTF-8의 BOM을 제거해야 합니다. 이것은 모두utf-8 인코딩 파일에 있는bom 때문에 php4,5는 모두 bom을 지원하지 않습니다.bom을 제거하고 Notepad++로 전환할 수 있습니다.이것만 보고 해결했어
자기 해결 방법
PHP4,5는 utf-8 인코딩 파일에서 BOM을 지원하지 않습니다.
파일에 BOM이 포함되어 있으면 쿠키나 세션을 설정할 때 오류가 발생합니다.
어떻게 하면 빠르고 편리하게 파일의 BOM을 제거할 수 있습니까?
Notepad++ 소프트웨어를 추천합니다. 아주 우수한 무료 소프트웨어입니다.
1. 설정 --> 기본 설정 --> 새 기본 새 UTF-8(BOM 없음)
2. 다른 곳에 새로 만든 php 파일이라면 notpad++에서 인코딩을 UTF-8로 바꾸는 방법을 엽니다. (BOM 없음)
형식-->UTF-8(BOM 없음) 이 경우 코드를 바꿀 수 있습니다.

좋은 웹페이지 즐겨찾기