note 69949 deleted from function.header by danbrown

From: Date: Sun, 07 Dec 2008 18:25:27 +0000
Subject: note 69949 deleted from function.header by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-147823@lists.php.net to get a copy of this message
Note Submitter: Michael J. Hudson ---- There has been some discussion on the best way to FORCE a refresh of a page. In general, the solutions revolve on reducing or eliminating caching. However, I think that what some people are looking for... is how does one force a real refresh of the page after some internal action on the page (be it a javascript action OR a button was pressed). I found the following code VERY helpful when I encountered this need. Specifically, I had a listbox where one could press a button to delete a selected entry in that listbox. The listbox was dynamically linked to the contents of an external source only in the sense that the listbox got updated with the current list ONLY when the page got refreshed. Thus, I needed a way to force a refresh after the person pressed the delete button. I did this by adding the following code after my actual delete action. <?php header( "Location: http" . (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on" ? "s" : "") . "://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . ( isset($_SERVER['REQUEST_URI']) ? $_SERVER ['REQUEST_URI'] . ( $_SERVER['QUERY_STRING'] ? "?" . $_SERVER ['QUERY_STRING'] : "" ) : "" ) ); ?> Do note, the above code is written to be VERY generic. You can probably simplify it greatly if the port is a standard port and/or you are always using http or https and/or you don't expect to have a query string appended to the end. BTW, I didn't come up this code myself... I happened across it while reading the following article on auto-login techniques for Mediawiki: http://meta.wikimedia.org/wiki/ User:Otheus/Auto_Login_via_REMOTE_USER/code

« previous php.notes (#147823) next »