I stort sett vad du kommit fram till själv.
När register_globals=Off kan du inte hämta dina variabler direkt från POST, GET, sessioner eller cookies, du måste då använda en fördefinierad associativ array: $_POST, $_GET, $_SESSION eller $_COOKIE.
Men varför lägga över den till en ny variabel, när du kan skriva ut variabeln direkt:
echo $_GET['id'];
Dina servervariabler typ $PHP_SELF eller $QUERY_STRING kommer du heller inte åt när register_globals=Off; du får skriva $_SERVER['PHP_SELF'] eller $_SERVER['QUERY_STRING'].
Du kan heller inte sätta en sessionsvariabel med session_register(), utan du får använda $_SESSION['variabel'] = "värde";
Och nu till något som är mycket viktigt. Det som fungerar när register_globals=Off fungerar även när register_globals=On (sånär på någon sessionshistoria vid vissa PHP-versioner).
Därför bör du skriva dina skript som om register_globals=Off även när du har On på din server. Då kan du flytta dina skript mellan servrar oberoende av inställning på register_globals.
