Linguaggi di scripting per il Web: domina JavaScript, PHP e la logica client-server

I linguaggi di scripting per il Web permettono di creare pagine e applicazioni capaci di reagire alle azioni dell’utente, elaborare dati e comunicare con servizi esterni. In questa dispensa analizzeremo JavaScript e lo scripting lato client, comprendendo come il browser possa modificare il DOM, gestire eventi e aggiornare dinamicamente l’interfaccia.

Vedremo inoltre PHP e lo scripting lato server, approfondendo come un’applicazione possa elaborare richieste HTTP, gestire utenti e sessioni, comunicare con database e generare le risposte inviate al browser.

Linguaggi di scripting per il web

Elementi chiave

  • Codice lato client ≠ codice lato server: il primo viene eseguito dal browser, il secondo dal server prima di produrre la risposta.
  • Client e server possono collaborare: il browser raccoglie l’interazione, invia una richiesta, il server la elabora e restituisce il risultato.
  • JavaScript = linguaggio utilizzato nel Web per definire comportamenti e interattività delle pagine e delle applicazioni lato client.
  • ECMAScript ≠ Web API: ECMAScript definisce il linguaggio JavaScript; le Web API permettono di interagire con browser, pagina, rete e dispositivo.
  • JavaScript → DOM → interfaccia: può cercare, leggere, modificare, aggiungere o rimuovere elementi senza modificare il file HTML originale.
  • Evento → event listener → funzione di callback, permettendo al programma di reagire ad azioni dell’utente o eventi generati dal browser.
  • PHP = linguaggio di scripting lato server: il server esegue il codice e il browser riceve soltanto il risultato prodotto.
  • URL ≠ file fisico: una route può associare un percorso Web a una funzione dell’applicazione senza richiedere un file omonimo.
  • PHP → richiesta → elaborazione → eventuale database → risposta HTTP, producendo HTML, JSON, file, reindirizzamenti o codici di stato.
  • Query string, body POST, cookie e sessioni rappresentano fonti attraverso cui PHP può ricevere o mantenere informazioni.
  • Cookie ≠ sessione: il browser conserva normalmente l’identificatore; i dati effettivi della sessione vengono gestiti dal server.
  • SQL = linguaggio per operare sui database relazionali; MySQL = sistema di gestione di database relazionali che utilizza SQL.
  • SELECT → lettura; INSERT → inserimento; UPDATE → modifica; DELETE → eliminazione; CREATE TABLE → definizione di una tabella.
  • PDO = interfaccia attraverso cui PHP può comunicare con un DBMS, inviando istruzioni e recuperando i risultati prodotti.
  • Input utente → trattamento adeguato al contesto: HTML, SQL, URL e altri contesti richiedono procedure differenti per utilizzare i dati in sicurezza.

Vuoi aiutarmi a scrivere articoli come questo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

No responses yet

Sostieni il progetto

Tutti i materiali che condivido nascono da una convinzione molto semplice: una buona formazione non dovrebbe limitarsi a insegnare quali pulsanti premere, ma aiutare a comprendere le idee, i principi e i processi che stanno dietro agli strumenti.

Per questo dedico una parte significativa del mio tempo a studiare, organizzare e produrre contenuti gratuiti dedicati al multimedia, al design e alla comunicazione visiva. Articoli, lezioni, approfondimenti e risorse che hanno l’obiettivo di rendere accessibili argomenti spesso affrontati in modo frammentario o superficiale.

Questo lavoro richiede però tempo, ricerca e cura. Ogni guida, ogni video, ogni materiale pubblicato gratuitamente è il risultato di molte ore di studio, scrittura e revisione.
Sostenere il progetto attraverso Patreon significa permettermi di continuare a produrre contenuti educativi di qualità, mantenerli accessibili al maggior numero possibile di persone e dedicare più energie alla costruzione di una risorsa che possa essere utile a studenti, professionisti e appassionati.

Se credi che una conoscenza più profonda, rigorosa e consapevole del multimedia abbia valore, il tuo contributo non sostiene soltanto il mio lavoro: aiuta a rendere queste risorse disponibili per tutta la comunità.
Grazie per il supporto e per la fiducia.

Patreon è troppo impegnativo?

Puoi sostenermi anche con una donazione libera, senza abbonamento e senza impegno.
Anche un piccolo contributo mi aiuta a continuare a creare giochi, contenuti didattici e materiali gratuiti con più libertà.

Support the project

All the materials I share stem from a very simple conviction: good training should not be limited to teaching which buttons to press, but should help people understand the ideas, principles, and processes behind the tools.

That is why I dedicate a significant portion of my time to researching, organizing, and producing free content focused on multimedia, design, and visual communication—articles, lessons, in-depth analyses, and resources aimed at making accessible topics that are often addressed in a fragmented or superficial way.

However, this work requires time, research, and care. Every guide, video, and piece of material published for free is the result of many hours of study, writing, and revision.
Supporting the project via Patreon enables me to continue producing high-quality educational content, keep it accessible to as many people as possible, and devote more energy to building a resource that benefits students, professionals, and enthusiasts alike.

If you believe that a deeper, more rigorous, and informed understanding of multimedia is valuable, your contribution does more than just support my work: it helps make these resources available to the entire community.
Thank you for your support and trust.

Is Patreon too demanding?

You can also support me with a voluntary donation—no subscription or commitment required.

Even a small contribution helps me continue creating games, educational content, and free materials with greater freedom.