non dormi più alla notte
A volte mi capita

Ok per XMLhttpRequest che chiaramente è lo standard (giusto alcune vecchie versioni di IE non lo supportano ma invece adoperano ActiveXObject).
Personalmente non lo uso ma, usando jQuery, lascio fare tutto a lui che di base si appoggia comunque su questo oggetto. Ad ogni modo, da quel che vedo, questo oggetto possiede diversi eventi, tra cui "load" (e relativo metodo "onload") per il quale puoi applicare un listener che gestisca la risposta del server (come già accennato). Questo, da quel che ho letto, è valido per la versione 2 di tale oggetto (vedi xhr2), il che potrebbe dare problemi su alcuni browser che non supportano tali metodi (implementati successivamente). In alternativa dovrai usare l'evento onreadystatechange e verificare che la proprietà readyState sia 4, questo significa che la risposta dal server è avvenuta e la ricezione dei dati è completa.
Inutile dire che tutto questo è gestito in modo più elegante con jQuery.

In qualunque caso, quando avviene la risposta dal server, puoi recuperarne i dati inviati da PHP e quindi elaborarli opportunamente.

Non ho esempi da proporti specificatamente per XMLhttpRequest ma sono sicuro che con qualche ricerca puoi trovare facilmente svariati esempi sul web.
Se intendi invece accostarti a jQuery saprei probabilmente darti consigli più opportuni.

Comunque sia, la discussione verte più su JavaScript che XML. Eventualmente si dovrebbe segnalare la discussione per chiedere di spostarla sul relativo forum.

Io sono un Instructional Designer con una startup molto particolare, per cui oltre a progettare Interventi Formativi Aziendali progetto anche li linee di prodotto, quindi anche gli aspetti tecnologici di base. io lavoro solo tramite commessa, quindi la richiesta di collaboratori arriva non appena chiudo con i clienti.
Bene. Interessante, ho visto qualche tua informazione online. Ti auguro un buon proseguimento per la tua attività.