Using 'header' as redirect

From: Date: Tue, 30 May 2006 16:08:54 +0000
Subject: Using 'header' as redirect
Groups: php.general 
Request: Send a blank email to php-general+get-237091@lists.php.net to get a copy of this message
Hi all. I have a site where I include pages within pages. Well, for some of the pages I want the user to be logged in, while others I don't care. I'm doing something that I thought was not allowed by the header() function. <!-- index.php --> <html> <head>...</head> <body> <? if ($subPage = $_GET['page']) include ("$subPage"); ?> </body> </html> <!-- some subpage that requires a login: subpage.php --> <? if (!$_SESSION["loggedIn"]) { header ("location: login.php"); exit; } else { ... } ?> As you can see, by the time that index.php includes the subpage, it has already outputted HTML. According to using the header() function, you are not allowed to output any HTML *before* using header(). However, I am doing this and it is redirecting fine. I have hypothesized why it is still redirecting appropriately... *subpage.php* has not outputted HTML before it does the check, only index.php, so it does not fail. Is this correct? Any help is appreciated. It appears to work fine, but I don't want to be surprised in the future by my application breaking suddenly!! =D Thanks, ~Philip

« previous php.general (#237091) next »