Fino al 15 luglio

Acquista un libro di fotografia, potresti vincere una fantastica FUJIFILM X-T30 II

Scopri come partecipare al concorso ⇢
Home
5 risposte su… come programmare bene con PHP e MySQL

27 Aprile 2022

5 risposte su… come programmare bene con PHP e MySQL

di

Programmare per creare siti dinamici, appoggiati a un database, comincia semplicemente ma diventa presto complesso e le cose da sapere sono tante, per chi voglia ottenere risultati.

Di che cosa parliamo

  1. A che cosa serve programmare siti dinamici
  2. Che cosa si impara per saper programmare siti dinamici
  3. Come installare PHP e MySQL sul PC
  4. Come le pagine PHP combinano insieme il codice HTML e PHP
  5. 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.

Torna all’inizio.

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).

Torna all’inizio.

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.

Torna all’inizio.

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.

Tag di apertura e chiusura del linguaggio PHP

Tag di apertura e chiusura del linguaggio 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.

Un esempio di programmazione PHP

Un esempio di programmazione PHP.

  • 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.

Invio al browser di testo e codice da visualizzare mediante PHP

Invio al browser di testo e codice da visualizzare mediante PHP.

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>.

Apertura e chiusura del comando echo

Apertura e chiusura del comando echo.

È 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.

Un altro esempio di apertura e chiusura del comando echo

Un altro esempio di apertura e chiusura del comando echo.

Torna all’inizio.

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.

Un esempio di tabelle in cui contenere i dati di un sito dinamico

Un esempio di tabelle in cui contenere i dati di un sito dinamico.

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.

Righe e colonne nelle tabelle di un database relazionale

Righe e colonne nelle tabelle di un database relazionale.

Torna all’inizio.

Questo articolo riprende contenuti da PHP & MySQL.

Immagine di apertura di Vipul Jha su Unsplash.

L'autore

  • Jon Duckett
    Jon Duckett progetta e sviluppa siti web da oltre 20 anni. Ha lavorato a progetti di startup come di grandi aziende e brand internazionali ed è autore di una dozzina di libri sul web design. HTML & CSS e JavaScript & jQuery sono i suoi best seller assoluti e sono stati tradotti in 13 lingue con oltre 800.000 copie vendute nella sola edizione inglese.

Vuoi rimanere aggiornato?
Iscriviti alla nostra newletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Libri che potrebbero interessarti

Tutti i libri

PHP & MySQL

Sviluppare applicazioni web lato server

37,91

39,90€ -5%

di Jon Duckett