una piccola nota:Originariamente inviato da Alhazred
Con $_POST o $_GET hai le variabili disponibili solo quando le invii come parametri alla pagina che le deve utilizzare, le variabili in sessione invece non devi passarle da una pagina all'altra, vengono salvate una volta per tutte in memoria e puoi richiamarle con $_SESSION['nomevariabile'], ovviamente più variabili metti in sessione, più il browser richiederà memoria per ricordarsele.
non vengono salvate in memoria (a meno che non parli nel momento in cui fa l'esecuzione dello script) ma in un file dentro una directory specifica del server
e poco ma sicuro se io ho trecento variabili di sessione non influiscono sulla memoria del browser ma sempre su quella del server
cmq risposta alla tua domanda, $_POST & $_GET sono disponibili solo negli invii da form o da curl (a parte le seconde che possono essere inviate anche da link) mentre le $_SESSION sono generalmente usate per identificazione dell'utente

Rispondi quotando