Wenn register_globals on ist, dann werden alle Variablen aus $_POST, $_GET und $_COOKIE als globale Variablen registriert und koennen gleich ueber ihren Namen angesprochen werden.
Das Problem dabei ist jedoch die Sicherheit, dementsprechend ist register_globals=off vorzuziehen.
Dann ist man zwar gezwungen mit $_POST, $_GET und $_COOKIE zu arbeiten, jedoch ist der Vorteil daran, dass dies auch funktioniert wenn register_globals=on ist. Andersrum ist das nicht der Fall.
Wenn nun ein Script zuhause geschrieben und getestet wird, mit register_globals=on, und alles funktioniert wunderbar, dann laedt man es hoch und stellt fest, dass der Provider register_globals=off hat und man darf 3000 Zeilen Sourcecode durchwuseln um das Script zum laufen zu kriegen.