Affinché i siti web abbiano contenuti generati dinamicamente, è necessario uno script su un server (scritto con un linguaggio lato server) che recuperi le informazioni da un database e generi la pagina in modo dinamico in base alle informazioni richieste.
User request -> Server get data -> Server send data back
Uno dei linguaggi di programmazione più utilizzati al giorno d'oggi da principianti e freelancer è PHP, con il database MySQL, principalmente perché è veloce da apprendere, facile da implementare ed è disponibile gratuitamente su quasi tutti i server web.
Le ultime tecnologie includono AJAX, che utilizza richieste JavaScript asincrone per interrogare uno script lato server, che recupererà le informazioni e le rimanderà alla tua pagina. Questo per esempio ti consentirà di raccogliere informazioni e aggiornare la pagina in tempo reale, senza la necessità di ricaricare il documento.
Questa è anche la base dei moderni siti web di social network e applicazioni web.
Solo con XHTML e CSS non sarai in grado di creare un sito web dinamico.
Per spiegarti meglio, devi capire che XHTML è un linguaggio di markup. Non fa nulla da solo se non presenta un documento ben formattato.
CSS è un documento di presentazione contenente un insieme di regole per modificare la modalità di visualizzazione del documento.
Quindi hai bisogno di uno o più linguaggi di scripting per rendere la tua pagina reattiva agli input dell'utente.
Infine, vale la pena ricordare che oggigiorno si può persino essere in grado di creare un sito Web dinamico concentrandosi solo sul front-end, utilizzando CMS e script che abiliteranno sul tuo sito web le funzionalità di cui hai bisogno, con i loro server e server -side scripts.
So che ci sono già molte opzioni disponibili e probabilmente è possibile fare ciò che ti serve senza sapere nulla sui linguaggi lato server.