Non è molto chiaro come hai gestito la cosa, comunque vediamo:
in una pagina hai un form, si riempiono i campi, si clicca su invia e il contenuto del form viene inviato ad una pagina php (quella contenuta nell'action del form), giusto?
Questa seconda pagina deve prendere i dati in questo modo $_GET['nomecampo'] oppure $_POST['nomecampo'] a seconda di come hai impostato il method del form. Una volta presi i dati li elabora come ti serve.

E' così che funziona? Il messaggio lo vuoi se dal form non arrivano dati alla seconda pagina?

Per quanto riguarda i campi obbligatori devi usare javascript, nel tag <input type="submit" ...>
devi aggiungere prima del > onclick="return checkDati(this)" dove checkDati è una funzione javascript che dovrai scrivere tu e che controlla uno per uno se i campi che vuoi che siano obbligatori sono vuoti o no.
Una cosa di questo tipo:
codice:
function checkDati(obj) {
if(document.nome_form.nome_campo.value == "") {
		alert("Dato mancante");
		document.nome_form.nome_campo.focus();
		return false;
	}

// così via per tutti i campi che devono essere obbligatori

return true;
}
Ovviamente per fare una cosa seria dovresti fare gli stessi controlli, stavolta in php sulla seconda pagina, perché un utente potrebbe avere javascript disabilitato e quindi i controlli javascript sulla pagina del form non funzionerebbero.