Intanto devi sempre specificare cosa intendi per "non funziona". ovvero che ti aspettavi che succedesse e cosa invece lo script fa/NON FA.

Inoltre ritengo che anche in PHP (che non conosco) i dati ricevuti siano sempre di tipo stringa... ma tu poi fai i confronto come se fossero numerici...
codice:
 switch($pagina) 
    { 
        case 0: header("Location: home.php"); 
                  break;