Dunque: il caso n.1 NON è una sessione: passi semplicemente un valore tramite stringa di interrogazione. Ma è un valore senza stato, nel senso che si perde se non viene passato pagina per pagina. In piu' è sempre visibile leggendo la stringa di interrogazione

Per utilizzare una sessione devi inizializzarla, quindi: session_start(); a inizio codice, e poi:

codice:
$_SESSION['nomesessione']=$variabile;
In questo caso mantieni lo stato: senza passare il valore pagina per pagina, ti sarà sufficiente richiamare la sessione quando vuoi:

codice:
$miovalore=$_SESSION['nomesessione'];
Infine, i cookies non devono essere confusi con le sessioni. Sono piccoli file di testo che vengono utilizzati per immagazzinare alcune informazioni nel computer dell'utente. Informazioni che possono essere richiamate quando l'utente torna sul sito. Quindi, in pratica: la sessione scade con la chiusura del browser, i cookies no.

Ma attenzione: non utilizzare i cookies per sviluppare funzionalità primarie, infatti l'utente potrebbe averli disattivati o, piu' semplicemente, cancellarli dopo aver navigato...