Aggiungerei il controllo della variabile di sessione:

esiste è un intero?

Per il resto è tutto ok