This page notes the dot replacement, but not the space replacement: http://us2.php.net/manual/en/language.variables.external.php The reason is that '.' and ' ' are not valid characters to use in a variable name. This is confusing to many people, because most people use the format $_POST['name'] to access these values. In this case, the name is not used as a variable name but as an array index, in which those characters are valid. However, if the register_globals directive is set, these names must be used as variable names. As of now, PHP converts the names for these variables before inserting them into the external variable arrays, unfortunately - rather than leaving them as they are for the arrays and changing the names only for the variables set by register_globals. If you want to use: <input name="title for page3.php" type="text"> The value you will get in your POST array, for isntance would be: $_POST['title_for_page3_php'] NeoSmart Technologies 18-Nov-2006 10:22 The *only* way to make Request_URI work as a 100% Apache-Compliant server variable on IIS/Windows is to use an Isapi Filter - as documented at http://neosmart.net/blog/archives/291 . The various steps mentioned below *completely* fail when a rewrite engine is employed, since IIS will *never* return a non-existent path (i.e. the actual pretty-URI used) via its server variables. This also applies to accessing index.php via a folder. For instance, calls made to /folder/ will appear as /folder/index.php and not /folder/. The fix is to use the ISAPI filter provided at http://neosmart.net/blog/archives/291 You don't have to modify any of the actual scripts once this filter is in place - it automatically intercepts calls to REQUEST_URI and replaces them with the actual user-entered path. me at tommygeorge dot com 10-Nov-2006 12:59 I'm sure this is elsewhere, but since 'chris dot chaudruc at gmail dot com' posted his example, I thought I would share a quick function I use to force HTTPS protocol on a page, without having to know the scripts name... |