Det fungerar väl lika bra med bara $subject. Om php är inställt så, då förs de över till en variabel direkt. Det servrar jag använder fungerar det på. Varför gå omvägen via $_GET eller $_REQUEST.
Att använda globala variabler som $subject fungerar bara om PHP har konfigurerats med direktivet register_globals satt till "On". Numera rekommenderas att man låter register_globals vara avslagen och istället accessar dessa argument med superglobalerna $_GET, $_POST, $_REQUEST, $_COOKIE, $_SESSION. Dels är det bra ur ren dokumenteringssynpunkt eftersom det blir rätt solklart varifrån en variabel kommer, men det hindrar också en del tabbar om man t.ex. inte initierat alla sina variabler på ett schysst sätt. Därmed inte sagt att ett php-script blir säkrare bara för att man satt register_globals till "Off" - men man får åtminstone lite hjälp på traven.
Och själklart ska man alltid se till att all data som kommer in till ett script utifrån kontrolleras/filtrereras ordentligt innan det används.
~peter