| 
	
 | 
 Posted by Oli Filth on 06/05/05 15:47 
patrice said the following on 05/06/2005 08:43: 
> My aim is as follow : I want to use a form and a javascript 
> location.replace() together, in order to replace the curent page in the 
> browser's history list. 
 
Why? Sites that try to take control of the user's browser are usually  
just a pain in the arse. 
 
Plus if the user has JS disabled, your page won't work at all... 
 
> So I'm forced to use the GET method (there doesn't seem to be a way to 
> achieve this through location.replace when using the POST method). 
> But when using GET, the parameters will appear at the end of the URL 
> displayed in the client's browser, which I don't want. This URL is the 
> one returned by the server's response and could be different from the 
> one appearing in the request (I need to check this however). So if I 
> could remove the parameters from the Request-Line sent to the client, 
 
As I've already said, the Request-Line is *not* part of the server's  
HTTP response, but part of the client's (browser's) HTTP request. 
 
The only time the server sends back a URL (that appears in the browser)  
in an HTTP response is in a Location header. 
 
-------------------- 
 
Off the top of my head, the only way that I could see to do this (and  
it's messy), is: 
 
* Do the location.replace(), with the form variables in the GET string. 
 
* Then have the server collect up all the submitted $_GET variables and  
dump then in $_SESSION. 
 
* Do a header("Location: http://example.com/simple_url/") redirect. 
 
* At the new location, pick up the variables from the $_SESSION variable. 
 
This is untested. 
 
 
--  
Oli
 
[Back to original message] 
 |