$_POST come faccio a settare una variabile POST così da "portarla" nella pagina...
che sappia io le variabili in post le passi solamente tramite form <form method="post" action="xxx.php">

$_GET e se io modificassi l'url aggiungendo in GET il valore che mi serve...
no, non le mantiene. Nell'array $_GET hai solo le variabile che si trovano dopo il punto di domanda nel link. il mod_rewrite serve ti permette di riscrivere il link in maniera più leggibile ma cmq passa le variabili sempre in $_GET e quindi con il medesimo principio


"portarmi dietro" una variabile senza sessioni o cookie...
La cosa che ti consiglio è questa, all'inizio di ogni pagina attivi la sessione e controlli se è settata la variabile che ti serve. Se è settata la usi, altimenti la inizializzi.
Codice PHP:
session_start(); if(empty($_SERVER['theme'])  {   $_SERVER['theme']='pippo'; } 

$_SERVER['HTTP_REFERRER'] la cosa che mi è sembrata più vicina ai miei scopi...
$_SERVER['HTTP_REFERRER'] è semplicemente la pagina che ha richiamato la pagine eseguita in quel momento, non è affidabile perchè è facilmente "camuffabile" visto che è un parametro del browser.

PS: mi ero dimenticato di chiudere un quote