Quello che tu chiami errore e' un warning di Php che ti avverte che usi una variabile non definita (vuota).

Ho definisci all'inizio la variabile cosi se e' vuota non hai il messaggio o cambi i settaggi del tuo server per non farti stampare i warning.

Cmq lo script funziona anche con i warning che puoi prenderli come dei suggerimenti...