Istituto d Istruzione Secondaria Superiore A. Righi Taranto Informatica e Telecomunicazioni Informatica. HTML, PHP e MySQL

Documenti analoghi
Linguaggi di Programmazione

Traduzione e interpretazione

Javascript e CSS nelle pagine WEB

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Introduzione alla Programmazione. Giselda De Vita

Sommario APPUNTI WEB SERVER E PHP

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Web applications con. breve introduzione. 23/10/12 Davide Zedda ITC Levi

INFORMATICA. L informatica comprende:

Prof. Pagani Corrado HTML

Introduzione alla programmazione. Walter Didimo

Il Software programmabili programma algoritmo

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Lezione 16. Il Software di base

I Linguaggi di Programmazione

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

LINGUAGGI DI ALTO LIVELLO

Lezione 6. Siti, Utenti e Sessioni

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Corso di Fondamenti di Informatica Linguaggi di Programmazione

D B M G Il linguaggio HTML

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA

Linguaggi di Programmazione

HTML. Hyper Text Mark-Up Language

Come funziona internet

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Cosa è un programma. Informatica di Base -- R.Gaeta 18

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Il linguaggio di programmazione Python

Corso di PHP. Prerequisiti. 1 - Introduzione

Parte II.4 World Wide Web

@2011 Politecnico di Torino 1

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

AMBIENTI DI PROGRAMMAZIONE

XAMPP - Cos'è e installazione in locale

Telematico Digitale. Note di Installazione

Modulo o Form in Html

Reti informatiche. 2. Internet e navigazione

Introduzione al funzionamento di un calcolatore elettronico

Sessione ordinaria 2003 Seconda prova scritta ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Indirizzo: INFORMATICA CORSO SPERIMENTALE Progetto ABACUS

Elementi di programmazione

Introduzione alla programmazione

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina

2011 Politecnico di Torino 1

Open Database Connectivity (ODBC)

Corso Programmazione

Fondamenti di Informatica T. Il Software

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Linguaggi, compilatori e interpreti

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Queste note operative sono valide ESCLUSIVAMENTE dalla versione 2.90 di Metodo.

Linguaggi, Traduttori e le Basi della Programmazione

Prof. Rossella Cancelliere

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

Sistema Operativo. (hardware e software) della della macchina

Linguaggi e traduttori

Linguaggi di programmazione

Corso basi di dati Introduzione alle ASP

La tecnologia per le applicazioni Web

Programma Scienza senza frontiere CSF Italia. Guida per lo studente ai corsi di lingua italiana ICoN con tutorato

10 Creare. collegamenti ipertestuali

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

la traduzione dei programmi ed introduzione a Java

Sistemi di Elaborazione delle Informazioni

Linguaggi di programmazione

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Corso di PHP. Prerequisiti. 1 - Introduzione

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

INTRODUZIONE ALLA PROGRAMMAZIONE

PROGRAMMA SVOLTO Materia: Informatica Docentte:: PERAZZOLO GIANTONIO

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

10: I LINGUAGGI di PROGRAMMAZIONE PARTE 1

Elementi di programmazione

Progettazione Siti Web: Web

Prime nozioni di Web-Editing. Liceo Classico Jacopone - Todi - A.S Prof. Marco Bastianelli

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione

PAT/RFS116-21/02/ Allegato Utente 2 (A02)

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

Concetti base programmazione. Antonio Gallo

Programmazione: Sommario

Linee di programmazione

Linguaggi di Programmazione

1.1. Come funzionano le pagine Web.

SIREA: SISTEMA DI REVISIONE DELLE ANAGRAFI

Programmazione. Andrea Passerini Informatica. Programmazione

Introduzione all elaborazione di database nel Web

PROGRAMMA SVOLTO Materia: Informatica Docentte:: PERAZZOLO GIANTONIO

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso sul linguaggio Java

3. Programmi e algoritmi

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Sistema Operativo (Software di base)

Corso di Web Programming

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

Transcript:

e Telecomunicazioni Appunti di: HTML, PHP e MySQL CONCETTI FONDAMENTALI PROGRAMMAZIONE SERVER-SIDE e CLIENT-SIDE Concetti di server e di client Sia i server che i client sono delle applicazioni, ma la loro denominazione (server e client appunto) deriva dal ruolo che essi assumono nel contesto in cui sono utilizzati. Solitamente il computer che ospita un server ha delle caratteristiche tecniche (potenza del processore, memorie, ecc.) più performanti rispetto a quello di un client: un server infatti non è altro che un fornitore di servizi ed è quindi necessario che sia predisposto per rispondere efficacemente (e in tempi rapidi) alle richieste che provengono dall esterno. Esempi di servizi sono: server web: contiene uno o più siti web e permette loro di essere visibili in tutta la rete Internet, elabora tutte le richieste dei visitatori rispondendo in maniera adeguata (nel seguito lo vedremo più nel dettaglio); mail server (o server di posta elettronica): permette la gestione e la protezione della posta elettronica degli utenti iscritti a un determinato provider di servizi; Vi sono ancora numerose tipologie di server, ognuna delle quali permette di fornire un determinato servizio. Un client è comandato da un utente (cioè una persona), il quale sfrutta, a proprio vantaggio e come meglio ritiene, i servizi offerti dal server. In una rete aziendale (o scolastica) ogni postazione è per forza un client. Anche il nostro PC casalingo diventa un client nel momento in cui naviga in Internet: il meccanismo della visita di un sito concettualmente è quello che il client invia una richiesta al server web che contiene il sito da visitare, e questo server risponde al client inviandogli la pagina richiesta (più avanti approfondiremo questo concetto). Prof. Zoriaco Massimo pagina 1 di 9

e Telecomunicazioni Programmazione lato server e lato client Un linguaggio lato client è interpretato dal browser dell utente che si collega. Un linguaggio lato server è interpretato dal server e poi restituito in HTML al browser. La differenza sostanziale tra il linguaggio di programmazione lato server ed un linguaggio lato client (es. JavaScript, HTML) è che il linguaggio lato client è interpretato dal browser dell utente che si collega, mentre quello lato server è interpretato dal server e poi restituito in HTML al browser. La programmazione Client-Side è un metodo attraverso il quale l utente richiede al server attraverso un programma definito browser una determinata pagina web, questa pagina è fisicamente trasferita dal server al computer dell utente e grazie al browser è poi interpretata ed i risultati visualizzati sullo schermo. In definitiva tutti i processi di elaborazione, la logica ed il codice sono eseguiti sul computer di chi sta vedendo il programma (il browser web nella maggioranza dei casi). La programmazione Server-Side prevede sempre il solito meccanismo di chiamata ma stavolta siccome gli stessi processi, la logica ed il codice trovano loro sede naturale nel Server, all utente non arriva altro che un file contente la risposta ovvero le elaborazioni fatte dal server in base alle richieste dell utente. Questa risposta può essere un file da Prof. Zoriaco Massimo pagina 2 di 9

e Telecomunicazioni scaricare, così come una pagina html da visualizzare, piuttosto che una immagine o un filmato da visionare e così via. Browser: un programma che consente di visualizzare i contenuti delle pagine dei siti web e di interagire con essi, permettendo così all'utente di navigare in internet. Pagina statica e pagina dinamica Il linguaggio standard per scrivere pagine web è il famoso HTML (Hyper Text Markup Language). Esso non è un linguaggio di programmazione, poiché non può essere usato per scrivere algoritmi risolutivi di uno o più problemi, bensì è un linguaggio di contrassegno (o di marcatura) basato su tag (contrassegni o marcatori); ogni tag serve per descrivere un elemento della pagina HTML, come ad esempio il testo in grassetto, corsivo o sottolineato, oppure un immagine (con i relativi attributi). Per scrivere codice HTML, è sufficiente utilizzare un qualsiasi editor di testo (ad esempio Blocco Note di Windows) e per vedere il risultato del codice scritto, è necessario aprire la pagina con un opportuno programma detto browser (ad esempio Internet Explorer, Opera, Mozilla, Netscape, ecc.) il quale provvederà a decifrare il codice, per poi stampare a video la pagina risultante. E evidente che una pagina HTML, se non è modificata manualmente da una persona, rimane invariata nel tempo: per questo si usa dire che le pagine HTML sono statiche. Per dinamica si intende una pagina il cui contenuto non è prefissato, ma è (parzialmente o interamente) generato in tempo reale in base alle richieste dell utente. Se si desidera dare alle nostre pagine un tono di dinamicità è necessario ricorrere a dei linguaggi di scripting, cioè linguaggi di programmazione orientati al web, nel senso che sono predisposti per la scrittura di pagine web di internet. Sono linguaggi di scripting ASP (Active Server Pages, usato prevalentemente su piattaforme Microsoft), PHP (Hypertext PreProcessor o Personal Home Page), PERL, Java, ecc.. Quando si visita una semplice pagina HTML, il server web ricerca il file richiesto e lo invia così com è, senza effettuare alcuna operazione preliminare. In questo caso, si parla di programmazione lato client, poiché l interpretazione del codice è effettuata dal client, mentre il server web si occupa solo di inviare la pagina richiesta. Prof. Zoriaco Massimo pagina 3 di 9

e Telecomunicazioni Se l utente richiede di visitare una pagina PHP avviene l esatto opposto: il client invia la richiesta al server web, il quale, attraverso un apposito motore (programma che permette l esecuzione del codice scritto in uno dei linguaggi di scripting ad esempio il motore PHP esegue codice PHP) installato sul server, interpreta il codice (PHP ), dopodiché il risultato dell elaborazione è inviato al client in formato HTML. In questo caso si parla di programmazione lato server, poiché le operazioni di interpretazione del codice sono effettuate dal server web, mentre il client vede soltanto il risultato, in HTML, di tale elaborazione. E evidente quindi che il codice di uno dei linguaggi di scripting lato server è protetto, perché non è visibile dall utente (che appunto vede solo HTML). Tre moduli standard di un server web (Apache, PHP, MySQL Server) In questo paragrafo sono descritti i moduli standard da cui questo server è composto. Si parla di moduli standard poiché esistono diverse configurazioni di un server web, oltre a quella di cui si parlerà di seguito. Ad esempio, in ambiente Microsoft, un server web contiene un solo grande modulo chiamato IIS (Internet Information Services) che permette, oltre alle funzioni basilari di un normale server web, di utilizzare ASP e database Access. I tre moduli standard sono i seguenti: Prof. Zoriaco Massimo pagina 4 di 9

e Telecomunicazioni Apache: è il modulo software principale perché permette a una qualsiasi macchina (computer) di lavorare come un server web (di default questo modulo si mette in ascolto sulla porta 80); Motore PHP (o PHP scripting engine): è un modulo software che permette al server web di eseguire anche codice PHP; senza di esso il server web potrebbe solo lavorare con pagine HTML, mentre le pagine PHP non potrebbero essere interpretate (sarebbero viste solo come normali file di testo); MySQL Server: è un modulo software aggiuntivo che permette al sito internet installato nel server web di interagire con i database MySQL. La dicitura server aggiunta a MySQL indica che tale modulo può lavorare come piattaforma, ovverosia può essere eseguito indipendentemente dalla presenza di Apache. L ordine con il quale sono stati esposti questi moduli non è casuale: infatti una pagina PHP non può essere eseguita (e vista quindi da un visitatore) se non è stato installato Apache (o un qualsiasi altro software per server web). MySQL è un modulo a sé stante e aggiuntivo, non è quindi fondamentale ai fini di un corretto funzionamento del sito e si installa solo se si intende utilizzare il DataBase. Infatti spesso capita che, quando si sottoscrive un sito a un mantainer (azienda che si occupa di mantenere il nostro sito internet), MySQL Server non è compresa nella configurazione predefinita di un server web, ma è un servizio aggiuntivo che viene fornito pagando una somma supplementare a quella prevista dal contratto di base. La seguente figura rappresenta la situazione che si verifica quando un utente richiede una pagina web dinamica. 1 Server Web (2) 7 6 3 Server MySQL 4 Php 5 Prof. Zoriaco Massimo pagina 5 di 9

e Telecomunicazioni 1. il visitatore digita l indirizzo della pagina sulla barra degli indirizzi del browser che sta usando oppure lo compone attraverso link presenti su altre pagine; il client utilizzato dal visitatore individua qual è il server web su cui risiede quella pagina e gli invia la richiesta; 2. il server elabora la richiesta, estrae (dal proprio disco rigido) la pagina e comincia a leggerne il contenuto; 3. ogni volta che il server si accorge che in tale pagina vi è codice PHP, interrompe la lettura e richiama il motore PHP affinché esegua il proprio codice: il risultato dell esecuzione sarà scritto in HTML. Da questa affermazione è evidente quindi che in una pagina PHP è possibile mischiare codice HTML con codice PHP senza provocare alcun problema; 4. se nel codice PHP si individuano delle query (interrogazioni sul DataBase) da eseguire, il modulo PHP si interrompe richiamando il modulo MySQL, il quale restituirà il risultato della query attraverso un recordset (se si tratta di una query di selezione) oppure modificando il database; 5. il server MySQL risponde restituendo i dati richiesti; 6. al termine dell esecuzione del codice PHP e delle query SQL, il server web riprende la lettura della pagina inserendo il codice HTML ottenuto nel file da inviare al client; 7. al termine di tutta l elaborazione, il server web invia al browser dell utente la pagina richiesta in formato HTML, generata in modo dinamico da Php. PHP Il linguaggio php (acronimo di "PHP: Hypertext Preprocessor", preprocessore di ipertesti) permette di poter creare una pagina HTML dinamicamente, cioè in risposta alle scelte del client o del server. Il significato originario dell' acronimo era Personal Home Page Php è un linguaggio di scripting a lato server. Un linguaggio di scripting è un linguaggio di programmazione interpretato, destinato in genere a compiti di automazione del sistema (batch) o delle applicazioni (macro), o ad essere usato all interno delle pagine web. Prof. Zoriaco Massimo pagina 6 di 9

e Telecomunicazioni Architettura di un sistema client/server per l utilizzo di un DBMS (MySql) Prof. Zoriaco Massimo pagina 7 di 9

e Telecomunicazioni Rivisitazione di alcune key words Sistema batch: il termine batch (letteralmente: infornata) viene usato per indicare un particolare modo di gestire le operazioni di un sistema di calcolo. In sostanza significa che tutta la sequenza di operazioni e dati necessari per svolgere un particolare compito vengono preparati in anticipo e memorizzati su un adeguato supporto creando una procedura. La procedura viene poi eseguita dal sistema come un blocco unico, cioè senza che sia necessario, o possibile, un intervento umano prima che sia terminata. Il termine è contrapposto alla modalità interattiva, che si ha quando l'utilizzatore accede direttamente ad un terminale o ad una interfaccia dell'elaboratore e segue passo passo le varie fasi dell'operazione. Macro: Una macro è un insieme di istruzioni a cui viene assegnato un nome e servono per semplificare i programmi. Una volta definita la macro, nel programma principale basterà richiamare il suo nome per fare in modo che le istruzioni siano eseguite. A differenza dei sottoprogrammi, le macro si espandono, cioè, il loro codice viene scritto tante volte quante sono le chiamate. Quindi occupano più spazio di memoria di un sottoprogramma, però, sono eseguite in meno tempo, dato che non c è una chiamata ed un ritorno nel tempo di esecuzione. Linguaggio compilato e linguaggio interpretato: Un programma viene sviluppato scrivendo il codice sorgente in un opportuno linguaggio definito, appunto, dalla sintassi del linguaggio stesso e sono memorizzati all interno di file, detti file sorgenti (source file), che non sono direttamente comprensibili dall elaboratore (CPU), ma devono essere tradotti in linguaggio macchina ( linguaggio costituito essenzialmente da sequenze di valori binari che sono interpretate dalla CPU secondo una propria decodifica). Esistono essenzialmente due tipologie di traduzione dei file sorgenti: l interpretazione e la compilazione. Un file sorgente può essere interpretato, ovvero deve esistere un programma scritto in linguaggio macchina, l interprete (interpreter), che traduce in linguaggio macchina, una dopo l altra, tutte le istruzioni presenti nel file sorgente (programma da tradurre) passandole via via alla CPU che le esegue. Un file sorgente può essere compilato, ovvero deve esistere un programma scritto in linguaggio macchina, il compilatore (compiler), che traduce in linguaggio macchina tutte le istruzioni presenti nel sorgente, memorizzandole all interno di un file eseguibile. La differenza è sostanziale: ogni volta che si desidera far eseguire un programma interpretato è necessario far eseguire anche l interprete a cui si fa quindi tradurre il file sorgente sul momento, al Prof. Zoriaco Massimo pagina 8 di 9

e Telecomunicazioni volo (on-the-fly); se si desidera invece far eseguire un programma compilato, già tradotto quindi in linguaggio macchina dal compilatore, non è necessario far eseguire insieme ad esso anche il compilatore, poiché il programma compilato (file eseguibile) è comprensibile direttamente dalla CPU (è in linguaggio macchina): il compilatore è necessario soltanto nella fase di traduzione (compilazione) dei file sorgenti del programma, che avviene una tantum. Per questo l esecuzione di un programma compilato è notevolmente più veloce rispetto a quella dello stesso programma interpretato: nel tempo di esecuzione di un programma interpretato viene ovviamente incluso anche il tempo di traduzione di ogni istruzione, mentre con il programma compilato non c è traduzione durante la fase di esecuzione (esso è già stato tutto tradotto). Prof. Zoriaco Massimo pagina 9 di 9