Om du vill lära dej webbutveckling från grunden, så kan du inte gå in på PHP först.
HTML/CSS/JavaScript
Först och främst ska du lära dej HTML, så du förstår hur en statisk webbsida är strukturerad. Detta kallas även för "frontend".
Sedan går du in på CSS, så du kan lära dej hur du stylar en webbsida.
Efter detta så kan du göra statiska webbsidor, men för att göra mer händelserika sidor så är JavaScript nästa steg, så du kan ex. koda lite mer dynamiska händelser på sidan om man trycker någonstans, här kommer också DOM in.
Dessa tre delar, HTML, CSS och JavaScript är grunden för att skapa statiska webbsidor. Dvs. webbsidor som ser likadana ut för alla, där ingen information kan sparas så alla kan se detta. Dvs. du kan skapa ett snyggt forum, men ingen kan lägga upp några forumtrådar i det.
Kan notera att man kan lagra data lokalt hos en klient i HTML5, men det finns bara tillgängligt för den användaren på den datorn, och inte hos resten av besökarna på sidan.
Databaser
För att göra en sida mer dynamisk, så behöver datan lagras någonstans. Här kommer en databasserver in, ex. MySQL. I detta fall behöver du lära dig SQL, och hur man skapar och hanterar databaser. Det är från denna databas som alla forumtrådar sedan sparas i, och som hämtas då man vill se listan över forumtrådar.
Denna delen kallas för "backend".
Den dynamiska sidans utveckling
Nu då, för att skapa en dynamisk webbsida måste du använda ett programmeringsspråk/scriptspråk i "backend" delen, som kan läsa från databasen, och läsa vad användaren skickar för data till dej (via ex. get/post meddelanden), för att sedan skapa en dynamiskt genererad sida.
Detta löser man genom ex. PHP, ASP, ASP.NET, Ruby on Rails, där PHP är mycket populärt och enkelt att lära sej. Och kom ihåg, en bra programmerare lär sej inte ett enda språk och är fast i det resten av sitt liv, utan man lär sej flera språk under sin livslängd, så bara för du väljer ex. PHP nu, så betyder det inte att du alltid måste använda dej av det.
Men till att starta med, så brukar man göra enkla script, ex. att dynamiskt visa vad klockan är på sidan. Sedan går man in på att ta emot data från get/post meddelanden, sedan hur man läser/skriver kakorna och använder sessioner. Och sist, hur man kopplar ihop allt detta till att generera en dynamisk webbsida.
Senare kan man gå in på lite mer avancerade delar, så som Ajax (skrivs i JavaScript), som ex. gör det möjligt att hämta data från en webbserver som genererar en dynamisk webbsida, och lägger in det på den aktuella sidan, utan att behöva göra en refresh på hela sidan. Men först behöver du lära dej allt annat innan du börjar med detta.
Du kan även lära dej lite JQuery som komplement till din JavaScript kod, och som underlättar sjukt mycket.