As of PHP 4.20, register_globals defaults to off. While this was done for valid security reasons, I've never experienced any problem in 3 years of running PHP with register_globals turned on, so I'm leaving it that way (on my servers) and not rewriting my scripts just yet. In the meantime, the following acts as a workaround. It will ensure that the scripts work properly, even if you're running with PHP 4.20+ and register_globals off: = "4.2.0"){ extract($_POST); extract($_SERVER); extract($_ENV); } ?> I've already added this hack to most of my scripts. If you see one I forgot, feel free to add it in yourself.