Re: Header Processing
- From: Erwin Moller <Since_humans_read_this_I_am_spammed_too_much@xxxxxxxxxxxxxxxx>
- Date: Thu, 31 Jul 2008 17:35:10 +0200
Jerry Stuckle schreef:
Erwin Moller wrote:
Call Me Tom schreef:
Hi Tom,
I was looking at an application with the following code snippet:
ob_start();
session_name('foo');
session_start();
if (!$_SESSION['bar']) { header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/index.php");
ob_end_clean();
exit();
}
I am under the impression that the "header" redirection is immediate.
That is wrong.
This is not like, for example ASP/VB's Response.Redirect.
header() function in PHP does excact what it says and nothing more: Setting a header.
Am I correct or will the 'ob_end_clean()' and 'exit()' actually
process.
They will be processed.
Tom
Bottomline: If you need a 'redirect' via header("Location...") always call exit after that, or the script will merely run on untill it ends.
Regards,
Erwin Moller
Almost correct, Erwin,
The script will continue until the redirect actually takes place. That will be after the header is sent to the client and the client responds.
So while the rest of this script will run, another script with a relatively long run time probably will be interrupted.
Hi Jerry,
Good point, Jerry.
If a programmer WANTS to keep executing the script after the locationheader (some longrunning DB actions eg), this might cause some hard-to-find bugs.
Since the time the remainder of the scripts has depends on the speed to the client.
Since I never leave my script running after a Location header, I never gave that route of problems much thought. ;-)
Hypothetical question: Suppose I deliberately want to keep the script running after the header("Location.."), will using ignore_user_abort(TRUE) avoid this problem?
Regards,
Erwin Moller
--
============================
Erwin Moller
Now dropping all postings from googlegroups.
Why? http://improve-usenet.org/
============================
.
- References:
- Header Processing
- From: Call Me Tom
- Re: Header Processing
- From: Erwin Moller
- Re: Header Processing
- From: Jerry Stuckle
- Header Processing
- Prev by Date: Re: Header Processing
- Next by Date: Symbols used in classes.
- Previous by thread: Re: Header Processing
- Next by thread: help me in this issue
- Index(es):
Relevant Pages
|