Re: Redirecting in a PHP script

From: Date: Thu, 15 Mar 2007 07:06:20 +0000
Subject: Re: Redirecting in a PHP script
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-250637@lists.php.net to get a copy of this message
Larry Bradley wrote:
I need to "goto" different PHP pages in my web site depending on what happens within some PHP code. For example, if the user is not logged in when he goes to a page, I want to send him to a LOGIN page. I've have everything working fine, using the following Javascript code:
            $location = 'login.php';
                echo "<script language='javascript'>\n";
                echo "document.location.href = '" . $location . "';\n";
                echo "</script>\n";
I also played around with using the header("location: ...") function. I understand that the header() function must be issued before any HMTL is output. But I'm not sure about the Javascript code. In every instance in my code, I use the Javascript before any HTML - this type of action normally occurs in PHP code called via a form POST. I presume that the Javascript code really does the same as the PHP stuff, and thus must obey the same rules, but I'm not sure. Comments? Larry Bradley Orleans (Ottawa), Ontario, CANADA
You could just put the bit of code that does the redirect above the HTML, or use ob_start() at the beginning of your php file and ob_end_flush() at the end, if you need to do a redirect then call ob_end_clean() before the header() function. and as some one else mentioned with clever use of a switch-case and includes you can avoid header() redirects entirely. Clive

« previous php.general (#250637) next »