register_globals does not turn global variables off, it just stops the contents of the query string, post payload, cookies etc from being copied into them.

I agree that uninitialised variables are bad.

I always turn register_globals on when I need them (i.e. for running legacy third party applications) on a per-directory basis in my Apache config and leave them off by default.

I write my own apps such that they will give an error if accidentally run with register_globals on.

Slarty