Siti web statici o dinamici
Quando un sito viene creato utilizzando solo codice HTML e CSS, ogni visitatore vede lo stesso contenuto, perché a tutti vengono inviati gli stessi file HTML e CSS.
- Quando il browser richiede una pagina creata utilizzando file HTML e CSS, la richiesta viene inviata al server web che ospita il sito.
- Il server web trova il file HTML richiesto dal browser e glielo invia. Può anche inviare del codice CSS per definire lo stile della pagina, dei media (come le immagini), del codice JavaScript e altri file utilizzati dalla pagina.
Poiché a tutti i visitatori vengono inviati gli stessi file HTML, vedranno tutti lo stesso contenuto. Pertanto, questo tipo di sito è noto come sito web statico.
Coloro che gestiscono siti web statici devono conoscere i linguaggi HTML e CSS. Se i proprietari vogliono aggiornare il testo di una pagina, il codice HTML deve essere aggiornato manualmente e ricaricato sul server web.
Il codice PHP non viene inviato al browser web, ma viene utilizzato per creare una pagina HTML la quale viene poi mandata al browser. Poiché il codice PHP viene eseguito sul server web, si parla di programmazione lato server.
PHP può essere utilizzato per creare pagine HTML su misura o personalizzate per ogni singolo visitatore. Ciò può includere la visualizzazione del nome del visitatore, degli argomenti cui è interessato o dei post dei suoi amici.
Per realizzare un sito statico, è sufficiente conoscere HTML e CSS, che ho trattato nel mio libro omonimo.
PHP: il linguaggio e l’interprete
L’interprete PHP è un software che viene eseguito sul server web. Possiamo dirgli cosa fare usando codice scritto in linguaggio PHP.
Il software è ciò che ci permette di utilizzare un computer per fargli eseguire determinate attività senza sapere esattamente come le eseguirà. Alcuni esempi.
- I programmi di posta elettronica consentono di inviare e ricevere mail senza sapere come i computer le accettano e trasmettono.
- Photoshop consente di modificare le immagini senza conoscere come il computer le manipola.
Ogni volta che utilizziamo un software, questo è in grado di eseguire le stesse attività, ma può eseguirle con dati diversi.
- Un programma di posta elettronica può essere utilizzato per creare, inviare, ricevere e archiviare messaggi, ma il contenuto e il destinatario di ogni messaggio possono essere diversi.
- Photoshop può applicare un filtro, ridimensionare o ritagliare un’immagine, e questo con qualsiasi immagine.
Entrambi questi software, per svolgere queste attività, hanno un’interfaccia grafica con cui l’utente può interagire.
Anche l’interprete PHP è un software, ed è parte di un server web. Ma, invece di usare un’interfaccia utente grafica, si può dire all’interprete PHP cosa deve svolgere usando del codice scritto nel linguaggio di programmazione PHP.
Quando si crea una pagina web usando il linguaggio PHP, questo eseguirà sempre le stesse attività utilizzando, ogni volta che viene richiesta la pagina, dati diversi. Per esempio, un sito scritto utilizzando PHP potrebbe avere:
- una pagina di accesso, che ogni utente utilizza per accedere al sito, anche se l’indirizzo e-mail e la password utilizzati per accedere sono diversi;
- una pagina dell’account, che ogni utente può utilizzare per visualizzare i dettagli del proprio account; anche se centinaia di persone utilizzano contemporaneamente la pagina, vedranno solo le proprie informazioni.
Ciò è possibile perché le istruzioni necessarie per eseguire queste attività sono sempre le stesse per ogni utente, ma i dati che ognuno fornisce o visualizza possono essere diversi.
Leggi anche: PHP e MySQL: la programmazione lato server spiegata in modo facile, di Jon Duckett
Esecuzione di un compito con dati diversi
I linguaggi di programmazione consentono di creare regole che indicano a un computer come svolgere un’attività. I dati utilizzati dal programma possono essere diversi ogni volta che l’attività viene eseguita.
Quando si usa un linguaggio di programmazione, bisogna dare al computer istruzioni precise, dicendogli esattamente che cosa deve fare. Queste istruzioni sono molto diverse da quelle che si potrebbero dare a una persona affinché esegua un compito.
Immaginiamo di voler acquistare cinque barrette di cioccolato e di doverne calcolare il prezzo totale. Per calcolarlo, moltiplichiamo il prezzo di una singola barretta per il numero di barrette che desideriamo acquistare. Potremmo esprimere questa regola nel modo seguente:
totale = prezzo x quantità
Ecco alcuni esempi di calcolo del costo totale delle caramelle.
- Se una barretta di cioccolato costa $1 e ne acquistiamo 5, il totale è $5.
- Se il prezzo di una singola barretta fosse $1,50, la regola è la stessa, ma il totale sarebbe $7,50.
- Volendo acquistare 10 barrette a $2 ciascuna, la regola è la stessa, ma il totale sarebbe $20.
I valori utilizzati al posto delle parole totale, prezzo e quantità possono cambiare, ma la regola utilizzata per calcolare il costo totale delle caramelle resta la stessa.
Quando si usa codice PHP per creare una pagina web, occorre prima comprendere:
- il compito che vogliamo ottenere;
- i dati, che possono cambiare ogni volta che viene eseguita un’attività.
Quindi possiamo fornire all’interprete PHP istruzioni dettagliate su come eseguire l’attività e utilizzate i nomi per rappresentare i valori che possono cambiare. Se abbiamo detto all’interprete PHP che:
prezzo = 3 quantità = 5
potremo usare la regola:
totale = prezzo x quantità
La parola totale rappresenterebbe un valore di 15. La volta successiva che eseguiremo la pagina, potremo dare a prezzo o quantità valori diversi e potremo calcolare il nuovo totale usando la stessa regola.
I programmatori chiamano le parole che rappresentano valori col nome di variabili, perché il valore che rappresentano può variare a ogni esecuzione del programma.
Che cos’è una pagina PHP
Spesso una pagina PHP contiene una combinazione di codice HTML e PHP. Può essere utilizzata per inviare una pagina HTML al browser.
Sotto, a sinistra, si può vedere una pagina PHP che contiene un mix di codice HTML e PHP:
- il codice HTML è in blu;
- il codice PHP è in viola.
Quando l’interprete PHP apre il file, questo:
copia tutto il codice HTML direttamente in un file HTML temporaneo che crea per quell’utente;
poi segue qualsiasi istruzione scritta in codice PHP (che spesso genera contenuti per la pagina HTML).
Il codice PHP che segue determina l’anno corrente e lo scrive all’interno dei tag di apertura <p>
e chiusura </p>
.
Il codice PHP può eseguire attività semplici, come operazioni aritmetiche o ottenere la data corrente, o più complesse, come utilizzare le informazioni inviate tramite un modulo HTML per aggiornare i dati archiviati in un database.
Quando l’interprete PHP ha terminato l’elaborazione del file PHP, invia al browser la pagina HTML temporanea creata per quell’utente, quindi elimina la pagina HTML temporanea.
Sotto, a destra, si può vedere la pagina HTML che verrebbe inviata al browser una volta che l’interprete PHP avrà eseguito il codice PHP.
L’interprete PHP ha determinato l’anno in corso e lo ha visualizzato nella pagina HTML che ha creato.
Di solito ogni pagina esegue la stessa attività a ogni richiesta, ma può funzionare con informazioni diverse per ogni utente del sito.
Un sito web PHP è costituito da un insieme di pagine PHP e ogni pagina svolge un’attività specifica. Per esempio, un sito che consente l’accesso agli iscritti potrebbe avere:
- una pagina di accesso — per consentire agli iscritti l’accesso al sito;
- una pagina del profilo — per consentire agli iscritti di visualizzare il proprio profilo.
Ogni volta che viene richiesta una di queste pagine, deve essere in grado di elaborare dati specifici del componente corrente. Pertanto, la pagina deve:
- contenere istruzioni su come completare l’attività che la pagina dovrebbe svolgere;
- assegnare un nome a ogni dato che potrebbe cambiare ogni volta che viene richiesta la pagina.
In PHP, le variabili usano un nome per rappresentare un valore che può cambiare ogni volta che viene richiesta la pagina.
Il codice PHP può dire all’interprete PHP:
- quale nome di variabile usare per un dato che può cambiare ogni volta che viene richiesta la pagina;
- quale valore usare a questa richiesta di pagina.
Una volta che la pagina HTML è stata inviata all’utente, l’interprete PHP dimentica tutti i valori memorizzati nelle variabili, quindi può eseguire la stessa operazione (ma con valori diversi) per la persona successiva che richiede la pagina.
Per archiviare i dati più a lungo, basta memorizzarli in un database, per esempio MySQL.
Che cos’è MySQL
MySQL è un tipo di database. I database archiviano i dati in modo strutturato, in modo da potervi accedere facilmente e aggiornare le informazioni in essi contenute.
I fogli di lavoro come Excel memorizzano le informazioni in una griglia di colonne e righe. I programmi possono quindi utilizzare tali dati per eseguire calcoli o manipolarli utilizzando formule.
MySQL è un software che memorizza le informazioni in modo simile; in tabelle composte da colonne e righe. È possibile utilizzare PHP per accedere e aggiornare le informazioni memorizzate nel database.
Un database può contenere più tabelle. Ogni tabella di solito contiene un tipo di dati che il sito deve memorizzare. Di seguito sono riportati due esempi di tabelle di database che contengono:
- gli iscritti (o utenti) di un sito;
- gli articoli visualizzati dal sito.
All’interno di ogni tabella, i nomi delle colonne descrivono il tipo di informazioni che ciascuna colonna della tabella contiene:
- la tabella
member
memorizza il nome, il cognome, l’indirizzo e-mail, la password, la data di iscrizione e l’immagine del profilo di ciascun iscritto; - La tabella
article
memorizza il titolo, il riepilogo, il contenuto, la data di creazione di ciascun articolo e alcuni valori discussi nella pagina a destra.
Ogni riga contiene i dati descrittivi di un oggetto rappresentato nella tabella:
- tabella
member
– ogni riga rappresenta un iscritto; - tabella
article
– ogni riga contiene un articolo.
Usando PHP, possiamo svolgere le seguenti operazioni.
- Trarre dati dal database e visualizzare queste informazioni in una pagina web.
- Aggiungere nuove righe di dati. Per creare un nuovo articolo, aggiungiamo una riga alla tabella article e forniamo i dati che devono essere archiviati in ciascuna colonna.
- Cancellare righe di dati. Per eliminare un articolo, rimuoviamo l’intera riga che rappresenta l’articolo.
- Modificare i dati di una riga. Per aggiornare l’indirizzo email di un iscritto, dobbiamo trovare la riga della tabella member che lo rappresenta, quindi aggiornare il valore nella colonna email.
Notiamo come entrambe le tabelle inizino con una colonna id
. Ogni riga della tabella ha, in questa colonna, un valore univoco (che inizia da 1 e per ogni riga viene incrementato di 1). I valori nella colonna id consentono di indicare al database con quale riga di dati si desidera lavorare. Per esempio, potreste volere l’iscritto il cui id
è 2 o l’articolo in cui id
è 1.
MySQL è un database relazionale perché conserva le relazioni tra i tipi di dati archiviati nelle diverse tabelle. Nelle tabelle sottostanti, per esempio, gli articoli sono stati inseriti da diversi utenti iscritti al sito. Nella tabella article
, il valore nella colonna member_id
dice quale utente ha inserito l’articolo perché contiene un numero che corrisponde a uno dei valori nella colonna id
della tabella member
.
L’articolo con id 1
è stato inserito dall’iscritto il cui id
è 2
(Luke Wood
). Gli articoli 2 e 3 sono stati inseriti dall’utente con id 1
(Ivy Stone
).
Queste relazioni:
- strutturano i dati, assicurando che ogni tabella contenga solo un particolare tipo di dati (iscritto o articolo);
- evitano al database di memorizzare gli stessi dati in più tabelle (con un risparmio di spazio nel database);
- semplifica l’aggiornamento dei dati. Se un iscritto cambia nome, deve essere aggiornato solo nella tabella member (non in ogni articolo che ha inserito).
Questo articolo riprende contenuti da PHP & MySQL.
Immagine di apertura di Hal Gatewood su Unsplash.