Di che cosa parliamo
- A che cosa serve programmare siti dinamici
- Che cosa si impara per saper programmare siti dinamici
- Come installare PHP e MySQL sul PC
- Come le pagine PHP combinano insieme il codice HTML e PHP
- Come funziona un database relazionale
A che cosa serve programmare siti dinamici
Un sito dinamico utilizza PHP e MySQL in modo tale che, quando viene richiesta una pagina web, il server possa generare una pagina HTML da inviare a quell’utente specifico. Ciò significa che le pagine possono essere adattate alle singole persone. Questo è un requisito per qualsiasi sito che consente agli utenti di eseguire le seguenti attività.
- Registrarsi o accedere, perché il nome, l’email e la password di ogni utente sono differenti.
- Fare un acquisto, perché i dettagli di ordine, pagamento e consegna di ogni cliente sono unici.
- Eseguire ricerche nel sito, perché i risultati della ricerca sono personalizzati per ogni utente.
Il linguaggio PHP è stato progettato per funzionare con database come MySQL che possono memorizzare dati, come il contenuto delle pagine visualizzate dal sito, i prodotti venduti dal sito o le informazioni sugli iscritti al sito. Utilizzando PHP si possono creare pagine web che consentano ai componenti di aggiornare i dati archiviati nel database. Alcuni esempi.
- I sistemi di gestione dei contenuti consentono ai proprietari del sito di aggiornare i contenuti del sito utilizzando un modulo e tali aggiornamenti vengono mostrati ai visitatori senza dover scrivere nuovo codice.
- Gli shop online consentono ai proprietari di elencare i prodotti in vendita e ai clienti di fare acquisti.
- I social network consentono ai visitatori di registrarsi e accedere, di creare profili utente, di caricare i propri contenuti e di visualizzare pagine su misura per i loro interessi.
Poiché le informazioni visualizzate su questi siti sono archiviate in un database, sono noti come siti web basati su database.
Che cosa si impara per saper programmare siti dinamici
Programmazione di base
La prima parte illustra come utilizzare il codice PHP per scrivere istruzioni eseguibili dall’interprete PHP:
- istruzioni di programmazione di base;
- esecuzione di codice diverso in situazioni diverse (per esempio, eseguendo del codice se un utente ha eseguito l’accesso e altro codice in caso contrario);
- come le funzioni possono raggruppare tutto il codice necessario per eseguire una singola attività;
- come le classi e gli oggetti aiutano a organizzare il codice utilizzato per rappresentare le cose del mondo che ci circonda.
Pagine web dinamiche
Una serie di strumenti di PHP consente di creare pagine web dinamiche:
- raccogliere i dati inviati da un browser web;
- verificare che gli utenti abbiano fornito i dati necessari a una pagina e nel formato corretto;
- lavorare con tutti i dati inviati;
- elaborare i file che gli utenti hanno caricato;
- rappresentare date e ore in PHP;
- memorizzare temporaneamente i dati in cookie e sessioni;
- risolvere i problemi nel vostro codice.
Siti web basati su database
Per trarre dati da un database e mostrarli nelle pagine web, oltre ad aggiornare i dati archiviati nel database, è necessario sapere quanto segue:
- come i database archiviano i dati;
- come impiegare il linguaggio SQL per recuperare o aggiornare i dati contenuti in un database;
- come visualizzare i dati del database in una pagina PHP;
- come utilizzare moduli HTML per consentire ai visitatori di aggiornare i dati memorizzati nel database.
Estensione delle applicazioni
Ecco quali sono i passi successivi alla realizzazione di siti web dinamici, per raggiungere un livello superiore di qualità.
- migliorare la struttura del codice;
- incorporare codice di altri programmatori;
- inviare e-mail con PHP;
- consentire agli utenti di registrarsi e accedere al sito;
- creare pagine su misura per i singoli iscritti;
- usare URL ottimizzati per i motori di ricerca;
- aggiungere funzionalità social (Mi piace e commenti).
Leggi anche: PHP e MySQL: la programmazione lato server spiegata in modo facile, di Jon Duckett
Come installare PHP e MySQL sul PC
Per usare PHP e MySQL su un PC allo scopo di creare siti web dinamici occorre installare:
- un server web che esegua un interprete PHP, per esempio Apache (il server più utilizzato);
- MySQL o MariaDB, un software per database;
- phpMyAdmin per gestire il database.
Installazione su Mac
Si consiglia gli utenti Mac di installare il software richiesto utilizzando uno strumento chiamato MAMP.
Installando MAMP su Mac (usando le impostazioni predefinite), viene creata la cartella:
/Applications/MAMP
All’interno di questa cartella ne è presente un’altra, di nome htdocs. Tutte le pagine web che si scrivono con PHP devono essere collocate all’interno di questa cartella, che è la radice del documento.
Si consiglia inoltre di utilizzare un editor di codice come Sublime Text, Atom, Visual Studio Code oppure BBEdit.
Installazione su PC/Linux
Si consiglia agli utenti PC e Linux di installare il software richiesto utilizzando uno strumento chiamato XAMPP.
Installando XAMPP su PC o Linux (con le impostazioni predefinite), viene creata la cartella:
c:\xampp\
All’interno di questa cartella ne è presente un’altra, di nome htdocs. Tutte le pagine web che si scrivono con PHP devono essere collocate all’interno di questa cartella, che è la radice del documento.
Come le pagine PHP combinano insieme il codice HTML e PHP
Molte pagine PHP combinano codice HTML e PHP. Il codice PHP viene racchiuso tra tag PHP. I tag PHP di apertura e chiusura, oltre a tutto il codice PHP che contenuto, formano blocchi PHP.
PHP è un tipo di linguaggio di scripting. I linguaggi di scripting sono progettati per essere eseguiti in uno specifico ambiente; PHP è stato creato per funzionare con un interprete PHP su un server web.
Una singola pagina PHP è spesso chiamata script.
Bisognerebbe trattare tutto il codice PHP come se facesse distinzione tra maiuscole e minuscole.
Sebbene alcune parti del linguaggio non facciano distinzione tra maiuscole e minuscole, distiguendole si faranno meno errori.
Una pagina PHP è un file di testo (proprio come un file HTML). L’estensione del file è .php
, e chiede al server web di inviare il file all’interprete PHP, in modo che possa seguire le istruzioni PHP in esso contenute.
La seguente pagina PHP contiene due elementi.
- Il codice PHP tra i tag PHP (in viola). L’interprete PHP elabora tutto il codice scritto all’interno dei tag PHP.
- Il codice HTML all’esterno dei tag PHP (in bianco). Viene aggiunto automaticamente al file HTML che viene inviato al browser (perché l’interprete PHP non ha bisogno di toccarlo in alcun modo).
Ogni singolo comando all’interno dei tag PHP è chiamato istruzione. La maggior parte delle istruzioni inizia su una nuova riga e termina con un punto e virgola. Dopo un’istruzione potete omettere il punto e virgola solo:
- nell’ultima riga di un blocco PHP;
- se il blocco PHP contiene solo un’istruzione.
Includere un punto e virgola alla fine di ogni istruzione aiuta comunque a evitare errori.
Questa pagina calcola il costo di 5 sacchetti di caramelle a $3 ciascuno e memorizza il prezzo nella variabile $total
. Quindi scrive il valore della pagina HTML.
PHP invia al browser il testo e il codice HTML
Il comando echo
chiede all’interprete PHP di aggiungere testo o codice alla pagina HTML che sta creando per il browser.
Qualsiasi testo e/o codice HTML racchiuso tra virgolette dopo un comando echo
viene inviato al browser, in modo che possa essere visualizzato nella pagina. Dopo il comando echo si possono utilizzare virgolette singole o doppie, ma le virgolette di apertura e chiusura devono corrispondere.
La prima virgoletta indica all’interprete PHP dove inizia il testo che deve aggiungere alla pagina; il secondo indica dove esso finisce. Il testo è noto come stringa letterale. Il punto e virgola alla fine della riga indica all’interprete PHP la fine dell’istruzione.
Per visualizzare una virgoletta nel testo che si sta inviando al browser, va fatta precedere da una barra rovesciata. In tal modo si chiede all’interprete PHP di non trattare come codice la virgoletta che segue. Questo si chiama escape delle virgolette.
Di seguito, il comando echo
usa le virgolette per scrivere un link HTML. L’URL nell’attributo href
deve essere tra virgolette, quindi quelle virgolette devono essere sottoposte a escape. Il codice seguente scrive il link HTML <a href="http://notes.re/php">PHP</a>
.
È possibile anche visualizzare le virgolette inserendo il testo e il codice HTML tra virgolette singole. Tutto funziona perché l’interprete PHP cerca l’apice corrispondente per trovare la fine del testo.
Come funziona un database relazionale
I database relazionali conservano i dati in tabelle. Un singolo database può essere composto da più tabelle.
Un database relazionale, o RDBMS (Relational Database Management System), come MySQL o MariaDB, è un software che può gestire più database (così come un server web può ospitare più siti web).
Il software per database può essere installato:
- sullo stesso computer del server web (MAMP e XAMPP installano per voi MySQL o MariaDB sul computer);
- un computer al quale il server web può accedere (così come accede a un server di posta elettronica).
Tabelle
Un database per un sito web come quello che viene costruito nel mio libro prevede quattro tabelle. Ogni tabella rappresenta un’entità gestita dall’applicazione:
article
rappresenta ogni singolo articolo e i suoi dati (titolo e data di creazione, per esempio);category
rappresenta le sezioni del sito che raggruppano gli articoli correlati;image
contiene i dati sulle immagini degli articoli;member
contiene informazioni su ogni singolo utente iscritto al sito.
I database relazionali si chiamano così perché le tabelle contengono informazioni che sono in relazione con i dati contenuti in altre tabelle.
Righe
Ogni riga in una tabella (chiamata anche record o tupla) contiene uno degli elementi rappresentati nella tabella. Ogni riga della tabella article
rappresenta un articolo; ogni riga della tabella member
rappresenta una persona.
Colonne
Ogni colonna in una tabella (chiamata anche attributo) contiene una caratteristica degli elementi rappresentati nella tabella. Per esempio, le colonne della tabella member
contengono nome, cognome, indirizzo email, password, data di iscrizione e nome del file per l’immagine del profilo di quell’iscritto.
Campi
Un campo è un singolo elemento di una riga.
Chiave primaria
La prima colonna in ogni tabella è chiamata id
perché può essere usata per identificare una singola riga di tale tabella (per esempio può identificare un singolo articolo, categoria, iscritto o immagine). Per questo, ogni riga della tabella deve avere un valore univoco nella colonna id
. In queste tabelle, tale valore viene creato usando una funzionalità di MySQL detta autoincremento, che aggiunge 1 al numero usato nella riga precedente. Questa colonna è detta la chiave primaria della tabella.
Questo articolo riprende contenuti da PHP & MySQL.