Originariamente inviato da nicola75ss
Se vuoi rimuovere gli spazi vuoti usa trim.

$nome = trim($_POST['nome']);
$messaggio = trim($_POST['messaggio'];
if (empty($nome) || empty($messaggio))
echo "compila tutti i campi ";
Non funziona l'alert, esce errore, puoi farmi 2 alert separati? Uno per il nome e uno per il messaggio? Es."compila il nome" e " compila il messaggio" e rendere l'inserimento dei 2 campi obbligatorio?

$nome = htmlspecialchars(strip_tags(trim(empty($_POST['nome'],"\x00..\x1F")));
$messaggio = htmlspecialchars(strip_tags(trim(empty($_POST['messaggio'],"\x00..\x1F")));

Tieni presente che come esce l'alert la pag. non deve caricarsi e deve ritornare qui al form:
$meta="<META http-equiv=\"REFRESH\" content=\"3; url=http://www.xx.xx/guestbook/form.php\">";