Originariamente inviato da las
se per alert intendi la stampa di quel messaggio è perchè non stai richiamando nessuna funzione di stampa.

Codice PHP:
$errore .= "I caratteri < > \ non sono ammessi ";

echo 
$errore
L'echo c'è alla fine dei controlli e funziona, se metto il punto esclamativo così

(!preg_match("/^([<>\]+)$/",$nome.$citta.$suoemail.$messaggio)){

esce l'alert anche se non riempio il campo