Sei sulla pagina 1di 50

Architetture software client/server

 client: software(quindi computer sul quale è eseguito) che


istanzia l’interfaccia utente di un’applicazione
connettendosi tramite un’infrastruttura di rete a un server
 server: software(quindi computer sul quale è eseguito) che,
oltre alla gestione logica del sistema(fornitura di servizi),
deve implementare le tecniche di gestione degli accessi,
allocazione e rilascio , delle risorse, condivisione e
sicurezza dati.
 interazione c/s: un c richiede un servizio ad un s mediante
un protocollo; il s, se trova soddisfatte tutte le condizioni
per fornire il servizio lo eroga, altrimenti risponde con un
messaggio di errore.
Cos'è il PHP?
Hypertext Preprocessor
E' un linguaggio di scripting server side
 La differenza tra lato client e lato server sta tutta nel
modo e da chi viene interpretata una pagina Web quando
essa viene caricata.
 Quando un server Web predisposto per il PHP riceve una
richiesta dal browser di un client iniziano una serie di
operazioni: Il server:
1. Legge ed individua la pagina sul server.
2. Esegue le istruzioni PHP contenute all'interno della pagina ed
esegue tutti i comandi PHP.
3. Rimanda la pagina risultante al Browser.
Vantaggi di PHP
 PHP è un linguaggio molto semplice da utilizzare, a
cominciare dalla sintassi derivata direttamente da veri
linguaggi di programmazione come C/C++, Java.
 Forse la vera forza del PHP sta nella gestione dei
database, con poche righe di codice è possibile accedere
a qualsiasi database, estrapolare i dati che ci interessano
e inserirli nella pagina Web.
 Un altro punto a favore del PHP è la sua natura
OpenSource, quindi gratuita.
 Infine il PHP gira su tutti in principali Web server ed in
linea di massima non dobbiamo apportare nessuna
modifica al codice quando lo spostiamo da un Web server
ad un altro.
XAMPP
 Per sperimentare la programmazione lato server con
PHP bisogna poter trasformare il proprio computer in
un web server
 Utilizzeremo xampp che si può scaricare
premendo_qui
 A(Apache) è la piattaforma server http
 M(MySQL) programma per la gestione di database
relazionali
 P(PHP e Perl) diversi linguaggi di scripting lato server
installazione
 Una volta lanciato il
file appare una
procedura di
installazione guidata
che richiede pochi
minuti
 Selezionate i
componenti indicati
installazione
 È consigliabile scegliere
come directory quella
mostrata in figura
 C:\xampp
installazione
 Per creare un’icona sul desktop bisogna entrare nella
cartella C:\xampp
 Selezionare l’aplicazione xampp-control premere il
pulsante destro del mouse e andare invia a e desktop
Attivare il server
 Premere il pulsante start del modulo Apache
Memorizzazione e visualizzazione
dei files
 Per memorizzare i files andare all’indirizzo:
 C:\xampp\htdocs aprire una sottocartella prove e
salvare lì ogni file che verrà creato

 Per visualizzare i files nella barra degli indirizzi del


browser mettere come indirizzo:
 http://www.localhost/prove/nomefile.php( ma per
brevità può anche essere messo soltanto
localhost/prove/nome.php)
Primo esempio
Affinché l'interprete PHP riesca a distinguere
all'interno del codice il linguaggio da interpretare
ed eseguire (PHP) dall'HTML occorre utilizzare dei
TAG particolari. Ecco un semplice esempio:
Risultato
Al client arriverà il seguente file html:
include
 Come in altri linguaggi di programmazione, anche in
php è possibile includere file che contengono codici
php in un punto qualsiasi di uno script utilizzando la
parola chiave include.
Sintassi
 L’ integrazione di blocchi di istruzioni php all’ interno
di codice html quando viene utilizzato come
linguaggio scripting server-side può avvenire
attraverso due modalità:
 Standard: <?php…?>;
 JavaScript: <script language=’’PHP’’>…</script>
Strutture di controllo
 Sono praticamente le stesse dei linguaggi C/C++ e Java
 if-else;
 switch-case;
 while;
 do-while;
 for;
 foreach;
Operatori algebrici
Operatori di relazione

 L’operatore spaceship è stato introdotto


recentemente.
 Per l’espressione $a <=>$b restituisce -1,0,1 se a è
minore, uguale o maggiore di b
Operatori logici
Output
 L’ output di un programma PHP viene gestito tramite
le istruzioni echo e print
 I due costrutti sono praticamente identici
 echo ’’Alfa Beta Gamma’’
 print ’’Alfa Beta Gamma’’
 Producono lo stesso output ’’Alfa Beta Gamma’’
 La differenza risiede nel fatto che echo è in grado di
gestire uno o più valori mentre print soltanto uno
die exit
 Servono per interrompere il flusso di istruzioni al
seguito di determinate condizioni.
Variabili
Le variabili sono come dei “cassetti” in cui si possono
mettere dei valori.
Ogni variabile ha dunque un nome e un valore.
Il nome di una variabile in PHP:
 è sempre prefissato dal simbolo del dollaro ($)
 contiene caratteri alfanumerici e inizia con una lettera
o con il simbolo “_”
Assegnazione di valore a
variabili
In PHP, una variabile è creata automaticamente ogni
volta che le si assegna un valore (dichiarazione
implicita)
Per esempio, con il comando:
$a = 5;
Facciamo due cose contemporaneamente:
 Creiamo una nuova variabile con nome $a
 Le assegnamo il valore “5”
Tipi di dato
Inserimento di variabili all’ interno
di stringhe
 $beta=10;
 $alfa=’’il numero $beta ha due cifre’’
 Restituisce : il numero 10 ha due cifre
 Mentre
 $alfa=‘il numero $beta ha due cifre’
 Restituisce: il numero $beta ha due cifre
Sequenze di escape
Casting
Definizione di costante
 Per definire una costante si utilizza la seguente
sintassi:
 define(‘’<nome costante>’’,<valore>);
 Per definire il π si può scrivere:
 define(‘’PI_GRECO’’,3,14);
Array
Il PHP supporta sia gli array scalari che gli array associativi.
In PHP, un array di valori può essere esplicitamente creato
definendone gli elementi oppure la sua creazione può
avvenire inserendo valori all'interno dell'array, ad
esempio:
$a = array (“qui", “quo", “qua");
crea l'array definendo esplicitamente gli elementi dell'array,
al contrario dell'esempio che segue:

$a[0] = “qui";
$a[1] = “quo";
$a[2] = “qua";
Array
Se invece, per aggiungere elementi ad un array (supponiamo
che sia quello precedentemente creato) si utilizzano le
parentesi quadre vuote, i dati vengono accodati
all'array; ad esempio:
$a[] = “pippo";
$a[] = “pluto";

In questo caso, l'array si allunga di 2 elementi e risulta:

$a[0] = “qui";
$a[1] = “quo";
$a[2] = “qua";
$a[3] = “pippo";
$a[4] = “pluto";
Array
Gli array associativi si basano invece su
coppie "name-value"; un esempio
potrebbe essere:

$a = array(
"nome" => "Mario",
"cognome" => "Rossi",
"email" => "mario@rossi.com",
);
Array
E' interessante la possibilità della funzione array di annidare
le entries, come nell'esempio che segue:
$a = array(
"primo" => array(
"nome" => "Mario",
"cognome" => "Rossi",
"email" => "mario@rossi.com",
),
"secondo" => array(
"nome" => "Marco",
"cognome" => "Verdi",
"email" => "mario@verdi.com"));

Eseguire su questo array un comando del tipo:


<? echo $a["secondo"]["email"]; ?>

visualizzerà "mario@verdi.com"
Array
Array correlati al web
 Sono array detti superglobali dedicati a specifiche
funzionalità.
 I loro nomi sono: $_GET, $_POST, $_REQUEST
 Relativi al passaggio di dati tra pagine web
 $_COOKIE, $_SESSION dedicati alla gestione dei dati
Funzioni di PHP
Funzioni per data e ora
Funzioni per stringhe
Funzioni
 Come per gli altri linguaggi di programmazione anche
in PHP è possibile creare delle funzioni:

 Function messaggio($m){
echo $m;}
 Con le istruzioni:
 $mg = ‘’Messaggio di prova’’;
 Messaggio($mg);
 Restituisce Messaggio di prova
Variabili automatiche
 O superglobali, sono predefinite all’interno del
linguaggio PHP
 Vi si può accedere dall’intero script e il loro nome
inizia con $_
 Esse consentono di memorizzare informazioni sui file
in esecuzione,sulla sessione internet e sulla
trasmissione di dati tra client e server
Gestione form HTML con PHP
 In un form HTML viene indicato l’indirizzo di una
pagina in grado di elaborare i dati inseriti tramite il
form stesso.
 L’URL può essere relativo ad una pagina che
comprende uno script che legge il valori inseriti
dall’utente e produce una pagina web come risultato
Interazione tra pagine web
 La pagina
DatiPersonali.html
consente l’inserimento
di dati personali che
verranno inviati ad una
pagina con codice php
denominata
DatiPersonali.php che
restituisce un codice
html
 L’struzione echo<a href
></a> permette di
creare un collegamento
ipertestuale
Gestione dei cookie
 Sono piccoli file che un server salva nel computer
client per memorizzare informazioni sulla navigazione
effettuata dall’utente in modo che il gestore di un sito
possa sapere se l’utente abbia visitao o mono il sito in
passato
 Si usa la finzione setcookie()
 Essa va chiamata prima dell’apertura della pagina web
da parte del client
 Deve essere quindi scritta con uno script prima del tag
<html> nel file php
Gestione e validazione dati
 Html offre categorie di input type dove il controllo dei
dati inseriti avviene lato client
Inserimento codici javascript
 È possibile inserire degli eventi all’intero del codice
html. Quelli più noti sono