Sicuro che ti funziona? Chiami la funzione controllo() ed all'interno di essa richiama nuovamente controllo(), dovrebbe andare in loop infinito.
Inoltre a cosa ti serve htmlspecialchars()?
Al posto di addcslashes() io utilizzerei addslashes().