이 오류는...
본문
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 8
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 478
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 480
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 481
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 482
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 483
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 484
왜나는걸까요?
오류나는 common.php 를 보면
8번 코드
478 ~ 484번 코드
header 내용을 지우면 오류내용이 없어지긴 하는데
지우면 홈페이지 상단에 오류문구가 어딜가든 없어지지가 않습니다...
문제가 발생하는곳은 g4용으로 제작된 슬롯머신인데...
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=36223&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%8A%AC%EB%A1%AF
덧글을 보면 g4 유저들도 이같은 증세가 나타나는것 같더라구요.
header 오류는 왜나는것인가요?
충돌할만한 스크립트는 없는데 알고싶습니다.
참고로 코드는 g4s 용으로 다 바꾸었습니다.
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 478
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 480
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 481
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 482
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 483
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\plugin\slot\smain.php:1) in C:\APM_Setup\htdocs\common.php on line 484
왜나는걸까요?
오류나는 common.php 를 보면
8번 코드
// 보안설정이나 프레임이 달라도 쿠키가 통하도록 설정
header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');
478 ~ 484번 코드
// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
// 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음
header('Content-Type: text/html; charset=utf-8');
$gmnow = gmdate('D, d M Y H:i:s') . ' GMT';
header('Expires: 0'); // rfc2616 - Section 14.21
header('Last-Modified: ' . $gmnow);
header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
header('Pragma: no-cache'); // HTTP/1.0
header 내용을 지우면 오류내용이 없어지긴 하는데
지우면 홈페이지 상단에 오류문구가 어딜가든 없어지지가 않습니다...
문제가 발생하는곳은 g4용으로 제작된 슬롯머신인데...
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=36223&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%8A%AC%EB%A1%AF
덧글을 보면 g4 유저들도 이같은 증세가 나타나는것 같더라구요.
header 오류는 왜나는것인가요?
충돌할만한 스크립트는 없는데 알고싶습니다.
참고로 코드는 g4s 용으로 다 바꾸었습니다.
답변 3
# header 오류에 대하여
보통 php의 해더 오류는 이름에서 알다시피 해더는 같은 PHP 구문 이외에 "해더값 위로 HTML이든 뭐든 출력(Output)이 생기면 안됩니다." 오류 내용을 자세히 보시면 '내가 꼭대기 인데 나보다 더위에 뭐가 있다'라는 내용으로 오류를 표시합니다.
그래서 관련 파일을 살펴보니, smain.php 의 720라인부터 head.sub.php를 부르는 영역이 있는데, 사실 head.sub.php안에도 header 값이 있습니다. 위에서 말했다시피 common.php의 해더 값은 smain.php의 최상단에 인클루드 되어있는 zbpath.php 파일을 통해서 호출되기 때문에 사실상 최상단에 header가 있으므로 에러가 안나는데, smain.php의 맨 마지막라인인 719라인부터 header 값이 들어 있는 head.sub.php를 호출하면서
슬롯머신 출력물보다 보다 해더값이 밑에 있는경우가 되므로 에러가 난것입니다.
그런데 smain.php 파일을 보니, head.sub.php의 역할을 자체적으로 하고 있는 파일이므로, 딱히 head.sub.php나 tail.sub.php를 호출하지 않으셔도되므로, 아래와 같이 주석처리하시는 것을 권장합니다.
보통 php의 해더 오류는 이름에서 알다시피 해더는 같은 PHP 구문 이외에 "해더값 위로 HTML이든 뭐든 출력(Output)이 생기면 안됩니다." 오류 내용을 자세히 보시면 '내가 꼭대기 인데 나보다 더위에 뭐가 있다'라는 내용으로 오류를 표시합니다.
그래서 관련 파일을 살펴보니, smain.php 의 720라인부터 head.sub.php를 부르는 영역이 있는데, 사실 head.sub.php안에도 header 값이 있습니다. 위에서 말했다시피 common.php의 해더 값은 smain.php의 최상단에 인클루드 되어있는 zbpath.php 파일을 통해서 호출되기 때문에 사실상 최상단에 header가 있으므로 에러가 안나는데, smain.php의 맨 마지막라인인 719라인부터 header 값이 들어 있는 head.sub.php를 호출하면서
슬롯머신 출력물보다 보다 해더값이 밑에 있는경우가 되므로 에러가 난것입니다.
그런데 smain.php 파일을 보니, head.sub.php의 역할을 자체적으로 하고 있는 파일이므로, 딱히 head.sub.php나 tail.sub.php를 호출하지 않으셔도되므로, 아래와 같이 주석처리하시는 것을 권장합니다.
<?
//$g4['title'] = "슬롯게임";
//include_once("$g4[path]/head.sub.php");
//include_once("$g4[path]/tail.sub.php");
?>
현재 그누보드 4s에 해당 프로그램을 올려보았는데 헤더오류는 안나네요 ...
뭔가 다른문제인가..ㅠㅠ
뭔가 다른문제인가..ㅠㅠ
답변을 작성하시기 전에 로그인 해주세요.