Semplice: non è colpa della distribuzione, ma della configurazione php. Il tuo precedente server aveva attivo register_globals, quello nuovo no.
Se il metodo è post devi sostituire $campo con $_POST['campo'].
Se non capisci leggi questa lezione di html.it: http://php.html.it/guide/lezione/266...li-get-e-post/