Per creare pagine dinamiche ti consiglio di utilizzare PHP e MYSQL(database), per quanto riguarda la realizzazione di pagine web, cerca di utilizzare il più possibile codice CSS evita di posizionare i testi o le immagini tramite le tabelle ma utilizza i layer (CSS), utilizza le tabelle solo per intabellare dati dinamici (provenienti es. da un database).
Utilizza la tecnologia flash per realizzare effetti grafici d'impatto sconsiglio di utilizzarlo per generare menu per la navigazione, se utilizzi flash per generare pulsanti di navigazione inserisci all'interno del sito una pagina es. chiamata mappa dove andrai ad inserire i vari link alle varie pagine (questo per migliorare il posizionamento del tuo sito all'interno dei vari motori di ricerca).

Come tecnologia per generare pagine dinamiche puoi utilizzare anche ASP o ASP.NET (scegli quello che ritieni più semplice da imparare, personalmente preferisco PHP)

Nota: all'interno del portale www.html.it puoi trovare guide dettagliate riguardanti gli argomenti precedentemente citati e forum gestiti da persone preparate e disponibili ad aiutarti.
Ciao