Okay, I think I finally have this figured out. It works fine on a Linux box running Apache but not on a Windows box running Apache. I’m not sure if it would work on IIS or not, I don’t have an IIS installation to test it on. The reason is that $GLOBALS are treated differently.
I created a simple script to do the seting on both machines. Here it is if anyone wants to run a test on IIS.
<form action="test.php" method="post">
<input type="hidden" name="test1" value="hello world" />
<button>Test</button>
</form>
<hr />
<pre>
<?php
print_r($GLOBALS);
?>
</pre>
I have attached the results from the two boxes.
Here is the code that is being thrown off. Line 497 of save_user.processor.php.
$vl = ($GLOBALS[$n]!=$_POST[$n])? $_POST[$n]: "";
I’m not really sure what the purpose of this code is. Can somebody enlighten me?
If you look at the attachments and search for the element "test1" and the value "hello world" you’ll soon see the difference between the two platforms. Windows puts the post varibles in the "root" of the array (example: $GLOBALS[’allowed_ip’]) while Windows does not. Which is of course why the code above works differently depending on the platform.
Anyway, I hope this helps in getting to the bottom of this issue. I am using XAMPP 1.4.7 which means Apache/2.0.51 and PHP 5.0.1. It is possible that it’s an issue with my configuration settings, so it would be helpful if I could get some other people to help out with some testing and let me know their results. Thanks.
UPDATE:
Okay, so the upload feature doesn’t like my windows log for some reason so here’s
a link.