Re: Any way to use header() or another function to force user to "top level"

From: Date: Sun, 13 Jan 2008 07:15:38 +0000
Subject: Re: Any way to use header() or another function to force user to "top level"
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-267164@lists.php.net to get a copy of this message
Chuck wrote:
That is exactly what I am using now but the location I am redirecting to is loading within the <div> tags and at the top level of the browser. -CC On 1/12/08, Jim Lucas <lists@cmsws.com> wrote:
Chuck wrote:
I have some code doing some checks that sit inside div tags using href elements: ...
    <div class="pArea">
        <a class="panel" href="code.php?xxxx=yyyy" target="pframe1" >Panel1</a>
Wait, looking at your link again I see that you are directing the loading of this page request to a frame call "pframe1". If you are trying to redirect the iframe with the header() call, then no, their is no way to do what you are trying to do with the header() function. You will need to do this client side with javascript. something like this would do the job. window.parent.location = '/'; I think that is the syntax. If not, it is a good start.
... In code.php, if various conditions aren't met, this script will do a bunch of house cleaning, logging, then redirect using header("Location: /some_url"). My problem is that /some_url comes up inside the div area, instead of causing the browser to load /some_url as if accessed directly. Im just starting to dabble with PHP so I'm sure there is another way of doing this or maybe an argument to header() itself. I'm looking for the same behavior as the HTML snippet <a href="/" target="_top">here</a> Once I make the call to header(), I no longer care about any state information, session variables, or anything. Basically I am booting the user out of the application and back to the login/splash page. All information I need to retain has already been logged to various mechanisms prior to calling header() which is immediately followed by exit(); Thanks for any help, CC
Sounds like header() is what you are looking for then. The one thing that you have to make sure is that you have not sent any data to the browser. Use this: <?php # #Do whatever you want here. Just don't output any data to the browser. # header('Location: http://www.example.com/'); exit; # Always follow a header/location redirect with the "exit;" command. ?> I have found that it is best to include the entire domain when using the header/location redirect method.


« previous php.general (#267164) next »