Guide e How-to, Internet, PHP

Siti dinamici

Spesso sento parlare persone, non del settore, di siti dinamici come quelli che integrano animazioni Flash, Applet Java o addirittura immagini animate. Peggio ancora, delle persone che dicono saper fare siti web, hanno difficoltà a capire come funzionano quelli che utilizzano la programmazione lato server.

Di solito si incomincia a fare siti web utilizzando il linguaggio html e i fogli di stile CSS che servono a disporre i contenuti i contenuti e si possono ottenere dei funzionamenti più sofisticati tramite il linguaggio Javascript. Tutto questo viene gestito dal browser sul computer dell’utente.

Quando apriamo dei file .html (o .htm) contenuti nel nostro computer, essi contengono tutto il necessario per essere visualizzati; allo stesso modo avviene se li richiediamo al server quando siamo connessi. Questo tipo di richiesta è considerata ’statica’ anche se contiene delle animazioni.

richiesta_html.gif

Per capire la limitazione di questa tecnologia supponiamo di voler costruire un blog: già memorizzare i post ed i commenti degli utenti diventa impossibile. Per ottenere questo risultato bisogna utilizzare un programma che memorizza sul server i testi in un database.

In questo caso consideriamo il linguaggio php, che è open source, totalmente gratuito e soprattutto concepito proprio per il web.

Ad esempio, per memorizzare un commento che l’utente desidera inserire in un blog si utilizza un form che invia il testo dal nostro computer (client) ad un file php, ospitato nel server web, contenente un programma che memorizza i dati in un database.

Allo stesso modo quando richiamiamo la pagina che contiene quel testo, un file php lo estrae dal database ed il server lo invia al nostro client.

richiesta_php.gif

Vediamo punto per punto:

  1. Dal client parte la richiesta per ricevere la pagina .php che deve restituire il testo del blog.
  2. Il Server rileva che l’estensione del file richiesto non è .html, ma .php quindi richiede l’elaborazione del programma in esso contenuto all’interprete php.
  3. L’interprete php esegue le indicazioni contenute nel programma: queste indicano di generare una pagina formattata in html contenente i testi del blog, quindi li richiede al database.
  4. Il database restituisce i dati richiesti.
  5. La pagina formattata in html contenente i testi del blog viene restituita al server.
  6. Il server invia al client la pagina che viene visualizzata nel browser.

Se si guarda il sorgente della pagina ricevuta si troverà semplicemente un codice html e nessuna traccia del programma che l’ha generata. Questo è avvenuto in modo trasparente all’utente e questo sistema per produrre contenuti in formato html al volo è considerato come ‘dinamico’.

Si capisce subito la potenzialità di questa tecnologia; mentre in una concezione statica ogni pagina deve essere costruita per i propri contenuti, in un sito dinamico nella stessa pagina si possono inserire i contenuti che si vogliono, in rapporto alle richieste effettuate.

Mantenere e gestire dei dati sul server è molto utile, ad esempio si possono verificare e conservare i dati che identificano un utente permettendo così il login ad aree riservate, come ad esempio quelle adibite alla gestione della posta elettronica personale, oppure all’inserimento di scritti, foto e filmati. Questo ha reso possibile l’avvento del Web 2 in cui sono gli stessi utenti a creare i contenuti.

Esistono anche altri linguaggi lato server; sul mercato troviamo dei prodotti proprietari come Java Server Pages di Sun, ColdFusion di Allaire e ASP, ASP.NET di Microsoft. Questi prodotti non sono Open Source e sono a pagamento.

Il linguaggio php è in continuo sviluppo e per quanto in Internet se ne trovi una vastissima documentazione il sito di riferimento è sicuramente quello ufficiale:

http://www.php.net

Tags: , , , , , , , , , , ,

Ultimi 5 articoli di carletto

3 Comments

speak up

Add your comment below, or trackback from your own site.

Subscribe to these comments.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*Required Fields