Dati in rete
Web server
•
Il termine web server indica in generale il software per la gestione di un computer host, o server di
rete, basato sul protocollo HTTP (Hyper Text Transfer Protocol)
•
Il web server per sistemi Windows è IIS (Internet Information Services)
Programmi di FTP
•
Le pagine sono programmate in locale o poi
si esegue l’upload sul server remoto con un
programma di FTP (File Transfer Protocol)
Architettura WEB
•
Un’architettura WEB è composta da
due parti che interagiscono tra loro:
–
il lato client (client-side)
–
il lato server (server-side)
Programmazione WEB client-side
•
Il linguaggio HTML e i linguaggi di scripting come JavaScript impongono alcune limitazioni alle
applicazioni che si possono realizzare: per esempio non è possibile costruire un sito web che
consenta all’utente di accedere ai dati contenuti in un database.
•
Questi linguaggi svolgono quindi la loro funzione dal lato client di un’architettura web (client-side).
Richiesta di una pagina web
•
Una pagina web prodotta con i
marcatori HTML e i costrutti Javascript,
rappresenta un file di testo che risiede
sul server.
•
Il browser richiede la pagina e ne
riceve una copia
1
Programmazione WEB
server-side
•
Per interagire con i dati che si trovano su
un server remoto, l’utente invia una
richiesta di una pagina tipo aspx o php (e
non html).
Pagine dinamiche
•
La richiesta giunge al server che la elabora e produce una pagina
HTML che viene costruita dinamicamente e inviata al browser che
la visualizza
•
NOTA: l’utente finale non vede il codice sorgente della pagina php
o asp ma solo codice HTML
ASP.NET
•
ASP.NET (Active Server Pages) per la rete (net) si legge asp dot net, è una tecnologia che consente
di scrivere codice eseguibile (script) lato server, inserendo il codice all’interno di pagine web.
•
Il codice è scritto in un linguaggio (Visual Basic, C#) basato sulla programmazione ad oggetti
Il linguaggio PHP
•
Il PHP (acronimo ricorsivo di "PHP: Hypertext Preprocessor"
è un linguaggio che estende le funzionalità del web server
consentendo l’interpretazione di file .php contenenti il codice
dell’ applicazione.
•
L’interprete PHP viene aggiunto al web server come modulo
esterno
•
Se il modulo PHP non è installato, il codice viene visualizzato così come è scritto
•
L’inizio del blocco di codice contenente istruzioni in PHP è indicato con la sequenza
<? php
// elenco istruzioni in php
?>
Comportamento del server web
•
Il codice contenuto nella pagina web viene interpretato dal server web per costruire
dinamicamente la pagina da spedire al browser dell’utente. Quando viene richiesta una pagina .php
il comportamento del server web è:
–
leggere il file di testo riga per riga
2
–
se trova i marcatori HTML li spedisce al browser;
–
se trova i blocchi di codice PHP, ne esegue l’interpretazione e restituisce i risultati al
browser.
Il browser riceve codice HTML
•
La documentazione completa del linguaggio PHP è disponibile all’indirizzo www.php.net/docs/php
Vantaggi di PHP
•
I principali vantaggi di PHP sono i seguenti
1. rende più veloce la creazione e lo sviluppo di applicazioni web
2. facilita le fasi di manutenzione e di aggiornamento delle applicazioni
3. i suoi script sono compatibili su diverse piattaforme
4. include la possibilità di accedere a diversi database
5. appartiene alla categoria di software libero e continuamente controllato e aggiornato
Variabili e operatori
•
In PHP i nomi delle variabili sono preceduti dal simbolo del dollaro $.
•
I nomi delle variabili sono case-sensitive
•
Non è necessario dichiarare le variabili prima del loro utilizzo (Attenzione!)
Variabili stringa
•
•
Esistono due modi per assegnare un valore alle variabili che memorizzano una stringa:
–
racchiudendo il testo tra doppi apici "
–
racchiudendo il testo tra apici singoli ’
Con il primo metodo, se all’interno ci sono altre variabili, queste vengono espanse nel loro valore.
Con il secondo metodo ciò non avviene
3
Esempio uso di variabili stringa
•
Esempio
Caratteri speciali: sequenze di escape
Per aggiungere caratteri speciali al testo, occorre farli precedere dal bachslash
Sequenze speciali
Significato
\n
Ritorno a capo (newline)
\t
Tabulazione
\\
Backslash
\$
Simbolo del dollaro
\r
Ritorno del carrello
\"
Doppi apici
\’
Apice
\xHH
HH ASCII esadecimale
\000
000 ASCII ottale
Operatore di concatenazione
•
Per concatenare due stringhe si usa come operatore il punto (.).
•
Esempi con l’operatore di concatenazione
4
Operatori di assegnamento combinati
Operatori di confronto
Operatori logici
Array
•
In PHP un array è rappresentato da una variabile che contiene un insieme di valori identificati da un
indice
•
•
L’indice con cui si accede agli elementi di un array può essere
–
un numero: array numerici
–
una stringa: array associativi
A differenza di altri linguaggi, un array in PHP può contenere dati di tipo diverso
Array numerici
Un array numerico è indicizzato con un numero ma può contenere dati di qualunque tipo
5
Array associativi
La funzione count restituisce il numero di elementi dell’array
La funzione var_dump visualizza tipi e valore di una variabile
La struttura di selezione if
Per costruire una condizione si possono adoperare gli operatori logici e di confronto
Esempio di selezione if
Se il blocco di istruzione da eseguire è costituito da una sola istruzione, le parentesi graffe { } non
sono necessarie.
La struttura while
•
Le strutture di iterazione hanno il compito di ripetere l’esecuzione di un blocco di istruzioni un
numero di volte specificato tramite una condizione
•
La struttura while ha la seguente sintassi
6
•
Affinché il ciclo non sia infinito, le istruzioni all’interno (o qualche evento esterno) DEVONO
modificare le varabili che determinano il valore di verità della condizione
•
Il ciclo potrebbe anche non essere eseguito se la condizione risulta subito falsa (ciclo aperto).
Esempio while
<!doctype html>
<html>
<head> <title> Media dei prezzi </title></head>
<body>
<?php> // Calcolo della media dei prezzi
$prezzi = array (125.50, 62.00, 38.51, 97.24 );
$limite = count($pezzi);
$i = 0;
$somma = 0;
while ( $i < $limite ) {
$somma += $prezzi[$i];
$i++;
}
$media = $somma / $limite;
echo "<h2>Media dei prezzi : " . $media . " </H2>"
?>
</body>
</html>
La struttura for
•
Sintassi del comando for
•
Al posto di inizializzazione vengono inserite le istruzioni da eseguire UNA SOLA VOLTA.
•
Prima di ogni iterazione viene valutata la condizione che stabilisce se continuare o interrompere il
ciclo.
•
Al termine di ogni iterazione vengono eseguite le istruzione inserite nella parte aggiornamento.
7
Esempio for
Interazione con l’utente
•
Sappiamo che l’utente invia una
richiesta al server che restituisce una
pagina dinamica
•
L’interazione avviene aggiungendo
particolari informazioni alla richiesta
di una pagina web attraverso i form
del linguaggio HTML (moduli), che
permettono la costruzione di
un’interfaccia grafica, formata da
caselle di testo e pulsanti
Esempio di un form
•
Tramite questa interfaccia, l’utente inserisce i dati da inviare al server che li utilizza come parametri
degli script.
8
Cosa succede dopo
•
Quando si fa clic sul pulsante Cerca, il browser richiama lo script cerca.php indicato nell’intestazione
del modulo. Il browser aggiunge automaticamente alla richiesta tutti i campi presenti nel modulo.
•
Per ogni campo crea un parametro avente per nome il nome del campo indicato dall’attributo
name del tag <input> e come valore ciò che l’utente ha inserito
I dati inviati
Si preme il pulsante Cerca, il browser invia la richiesta per il file Cerca.php e aggiunge i parametri
Valore parametro Italia
Nome parametro parola
Si richiede lo script
cerca.php
I metodi di invio dei dati
•
L’attributo method del form HTML ha il compito di indicare al browser la modalità di invio dei dati
•
Le modalità a disposizione sono due
–
nella modalità GET i parametri vengono codificati dal browser automaticamente all’interno
dell’indirizzo e visualizzati insieme all’URL;
–
la modalità POST viene usata per grandi quantità di dati in modo che non siano visibili
all’utente.
$_GET e $_POST
•
I parametri vengono passati allo script per mezzo dell’array associativo $_GET, nel caso del metodo
get, oppure $_POST nel caso del metodo post.
•
Nell’esempio della pagina cerca.php, il valore dell’attributo parola è accessibile nello script PHP
tramite la variabile
9