I think I solved the problem. I've set the action of the login form to $_SERVER['REQUEST_URI'] instead of $_SERVER['PHP_SELF']. It works fine. May not be the proper way but hey ... Sjef "Andrei" <phplist@xxxxxxxxxxxx> schreef in bericht news:44D9F10D.80407@xxxxxxxxxxxxxxx > > When u know the user is not logged in and you have to redirect him to > login page, get all variables that are in $_GET and in $_POST (if u have > data that u send in post also) and form a string with them as a return > context string like: > > The code that you have to put in the page where you redirect the user to > login page and where user will land back after login. > > $return_context = $PHP_SELF."?"; > foreach( $_GET as $key => $val ) > $return_context .= "&".$key."=".$val; > foreach( $_POST as $key => $val ) > $return_context .= "&".$key."=".$val; > > header( "Location: login.php?back_page=".urlencode( utf8_encode( > $return_context ) ) ); > > In login page, after you created the session or whatever you do at login > pagrt you do: > > if( empty( $back_page ) ) > $back_page = $_GET["back_page"]; > > if( !empty( $back_page ) ) > header( "Location: ".utf8_decode( urldecode( $back_page ) ) ); > else > header( "Location: somewhere_else.php" ); > exit; > > The code is not checked. It's only to have an ideea... > > Andy > > Sjef wrote: >> Hello all! >> This is a bit difficult to explain. >> On a site I am building I sometimes use the GET method to forward values >> to >> the next page. There are certain pages that you need to be logged in to >> to >> be able to see data. So you arrive at the page, you realize that you are >> not >> logged in, so you type your username/password and hit 'log in'. Then the >> page gets severely messed up as the GET data are not forwarded (at least, >> I >> think that's the problem). Any ideas how to solve this? >> I tried to send a header("location: ...") with the document_root and >> request_uri as the location, but that doesn't do the trick. >> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php