Bah i linguaggi sono quelli, manca javascript alla lista ma comunque non è obbligatorio.
In ogni caso è bene chiarire che un sito web funziona così
In pratica ci sono due sponde ( server-side e client-side ). Quando si dice che php è un linguaggio server-side si intende che le applicazioni php girano sul server e producono come risultato codice html/css/javascript da inviare al browser dell'utente.
Ovviamente sul server gira un web server capace di eseguire il php e sul client gira un browser capace di interpretare html/css ed eseguire javascript.
Quello che devi fare è semplicemente realizzare le cosidette pagine web tramite il linguaggio html che è un linguaggio capace di creare la struttura delle pagine stesse. Cioè è in grado di dire qui ci va un box di testo, là ci va un titolo, più giù ci va un pulsante. CSS invece definisce gli attributi grafici degli elementi di un file html. In pratica dice il pulsante ha questo colore, questo font e questa immagine affianco, il titolo è 18 pixel, di box di testo è largo così e cosà.
Il javascript è invece un linguaggio i cui script vengono richiamati all'interno delle pagine html ed è in grado di manipolare da programma gli elementi del file html. In pratica con html e css puoi definire l'aspetto del pulsante in maniera statica, con javascript puoi, ad esempio, cambiarlo dinamicamente ( magari metti dei pulsanti che una volta premuto cambiano il colore del pulsante bersaglio ).
In tutto questo è facile intuire che il php c'entra poco e niente, nel senso che lui fa i suoi comodi sul server ed è totalmente slegato dal tiro js/html/css. Infatti a volte si usano ruby, python, lua, ecc... mica esiste solo php. Il succo è che php farà tutti i suoi ambaradan ma alla fine deve sempre e comunque inviare all'utente un flusso dei dati che spessissimo è rappresentato da pagine html e/o script javascript.
Comunque sia comincia con l'html da qui
HTML Tutorial - Sommario - HTML.net
Noterai che html è un'insieme di tag che rappresentano oggetti con relative proprietà. Ad esempio il colore di un pulsante si può definire direttamente in html ma negli ultimi 5-10 anni si è sviluppato css che serve per realizzare siti web molto più puliti e gestibili. Non è buona prassi usare html per definire l'aspetto degli elementi in pratica.
Poi passa a css
CSS Tutorial - Sommario - HTML.net
Ed infine javascript che ormai è obbligatorio
Guida JavaScript di base | Guide JavaScript | Javascript.HTML.it
Poi ci sono altre risorse javascript qui
Guide JavaScript | Javascript.HTML.it
Se guardi in quella pagina noterai cose come jQuery e MooTools. Si tratta di framework javascript che semplificano la programmazione in javascript e gestiscono le differenze tra i vari browser ( ebbene si i browser implementano pezzi di javascript incompatibili gli uni dagli altri ). Ovviamente di framework ce ne sono parecchi tipo Closure di google, Dojo e tanti tanti altri.
Comunque bisogna prima capire javascript per poter usare i vari framework.
Poi per php puoi leggere le varie guide qui
Guide PHP | Php.HTML.it