사용자를 리디렉션해야 할 때 PHP 파일에서 머리글이 이미 전송되어이 경우 사용자를 리디렉션하는 가장 좋은 방법 인 PHP의 헤더 기능을 사용할 수 없습니까?최고의 리디렉션 방법은 무엇입니까?
사용자 브라우저 브랜드에 관계없이 가장 빠르고 안정적인 방법은 무엇입니까?
echo '<script type="text/javascript">window.top.location="http://localhost/";</script>';
// OR
echo '<meta http-equiv="refresh" content="0;url=' .$location. '">';
UPDATE 여기
내가 홈페이지로 리디렉션 할 수 없습니다 헤더가 이미 전송하는 경우 내가 지금 사용하고 내 최종 결과 코드는, 난 그냥 포함하는 대신 나에게 홈페이지를 가지고, 그래서 본문 페이지에는 내 홈페이지와 바닥 글이 포함됩니다.
function validlogin($url) {
if (!isset($_SESSION['auto_id']) || ($_SESSION['auto_id']=='')) {
$_SESSION['sess_login_msg'] = 'Please login';
$_SESSION['backurl'] = $url;
$temp = '';
if (headers_sent() === false){
header("Location: /");
exit();
}else{
//header is already sent so we will just bring the homepage to us instead of going to it!!!
include 'mainbody.inc.php';
include 'footer.inc.php';
exit();
}
}
}
이것은 올바른 길을 가고 있습니다. 내 솔루션 인 IDK가 왜 "출력 버퍼링"을 말하지 않는 사람이라도 누구나 downvoting을 유지하는지, 나는 그것이 누구인지를 잘 알고 있습니다. 귀하의 방법을 참조하십시오, 나는 기존의 기능에 추가 할 수 있습니다, 헤더가 이미 전송 된 경우, 그저 리다이렉트하는 대신 내 홈페이지를 포함시킬 수 있습니다. 훌륭한 솔루션입니다! – JasonDavis
나는 기록을 위해 모든 나의 downvotes를 주장한다. 방법이 멋지게 작동하는 것처럼 보입니다. 이 게시물의 시작 부분에서 우리는 당신이 방향을 바꾸고 싶다는 것을 알고있었습니다. 더 많은 정보는 항상 더 좋습니다 :) –