알아낼 수없는 혼란스러운 경고 메시지가 있습니다. .
<?php require_once "esse.php";?>
<?php
require("common.php");
if(empty($_SESSION['username']))
{
header("Location: index.php");
}
?>
포함 된 파일 esse.php 코드 먹으 렴의 라인과 충돌에서 가져옵니다 : 나는 문제가 무엇인지 잘 모릅니다 때문에 어떻게 해결하기 위해 나는 코드 줄 내 videoator-a.php에 파일이 :
: esse.php에 선있다<option><?php if(isset($_GET['lang'])){echo $_GET['lang'];}else{?>Language<?php } ?></option>
하는 것으로
session_start();
(그냥이 도움이 될 수 있습니다 생각) 내가 videator-a.php에 페이지를 열 때 경고가 발생합니다 : 라인 6 일
Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\pollo\esse.php:118) in D:\wamp\www\pollo\videator-a.php on line 6
이 :에
header("Location: index.php");
과 esse.php의 118 줄이 있습니다 :
<option><?php if(isset($_GET['lang'])){echo $_GET['lang'];}else{?>Language<?php } ?></option>
그리고 만약 제가 비디오를 수정하면 .php 파일은 다음과 같습니다 :
<?php
require("common.php");
header("Location: index.php");
?>
<?php require_once "esse.php";?>
경고가 사라집니다. 왜 두 세션 모두 php 파일에 존재하는지 확인하지 못합니까? 여기 뭐가 잘못 됐니? (죄송합니다, 나는 약간의 끓는 주전자입니다)
제 질문은 - 오류가 발생하는 이유입니다. 그것은 - 헤더가 이미 전송 되었기 때문에 - 그러나 나는 esse.php 파일에서 ny 헤더를 보냈습니다. 세션이 존재하고 ID가 같을 때만 점검됩니다. 문제를 해결할 수 있도록 도와주세요. 미리 감사드립니다.
'헤더는 이미 sent' 출력이었다 의미 보내기 (예 : 에코). 따라서 머리글 (기본값)이 설정됩니다. 'header ("Location : index.php");는 echo 나 다른 것으로 출력이 나오지 않을 때만 작동하기 때문에 가능한 해결책은 ob_start() 함수를 사용하는 것입니다. 그리고 리디렉션 후에'exit; '를 수행해야합니다. – JOUM
이 파일을 테스트 해보세요 :' php echo'Hallo '; 헤더 ('위치 : google.de');없이 다른 시간 에코로 한 번. – JOUM
도움이되었습니다! 난 그냥 세션 esists 경우 cehking 전에 ob_start() 함수를 추가했습니다. 고맙습니다! – Donatta