Le variabili di GET sono quelle che arrivano tramite l'URL:

pluto.php?variabile=valore

Quelle di POST sono quelle che arrivano tramite i form. Da notare che e' possibile impostare un form con medodo GET piuttosto che POST ma e' poco comune (<FORM METHOD="POST" TARGET="..">) piuttosto che METHOD="GET". Se fai con GET ti trovi le variabili nell'URL nel formato url.php?var1=val1&var2=val2 etc

L'array $_REQUEST contiene sia $_GET che $_POST, per la cronaca.

Quanto al fatto di avere variabili di sessione prima di premere submit, non e' assolutamente possibile. Lo script PHP genera un output HTML che il browser visualizza, il browser non sa niente di PHP ne' di sessioni.