Corso di Php (base) Massimo Di Paolo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Php (base) Massimo Di Paolo m.dipaolo@labforweb.it"

Transcript

1 Corso di Php (base) Massimo Di Paolo

2 Indice delle lezioni Php 1. Introduzione 2. I concetti di base 3. Le variabili, i tipi di dato 4. Operatori di confronto e logici. Espressioni 5. Struttura di controllo e i cicli 6. Array 7. Le Funzioni 8. Accesso ai file 9. I Form 10. Le variabili $_GET, $_POST, $_COOKIES e $_SESSION 11. Php e MySql 12. Progetto di sito con le seguenti funzionalità 1. Upload di file 2. Paginazione dei risultati 3. Inviare mail 4. Criptare i dati con le funzioni md5 e/o sha1

3 1.1 Php Un po di storia Nasce nel 1994, ad opera di Rasmus Lerdorf, come una serie di macro la cui funzione era quella di facilitare ai programmatori l amministrazione delle homepage personali: da questo uso ha origine il suo primo nome Personal Home Page. È un prodotto Open Source (Codice Aperto) perfettamente integrato con altri due prodotti simili per filosofia Apache (Web Server) e MySql (database relazionale) La versione "stabile" attuale è la , rilasciata ad aprile 2013 Oggi PhP è conosciuto con il nome Pre Hypertext Processor oppure, più semplicemente, Hypertext PreProcessor è un linguaggio completo di scripting; può girare praticamente su qualsiasi server Web Apache, Microsoft IIS, ; su qualsiasi sistema operativo Windows o Unix/Linux, ma anche Mac, AS/400, Novell, OS/2, ; consente di interagire praticamente con qualsiasi tipo di database SQLite, MySQL, PostgreSQL, Microsoft Access/SQL Server, Oracle, SyBase,

4 1.2 Php Un po di storia Php non è l'unico linguaggio di programmazione per il Web La sua scelta rispetto ad altri è di tipo soggettivo Però vogliamo ricordare che: 1. È il più vecchio (ed ancora usato) linguaggio di programmazione per il Web; 2. È gratis; 3. Ha moltissime librerie di funzioni ormai testate al 100%; 4. Ha la più vasta comunità di sviluppatori che aggiorna continuamente tali librerie; 5. Tutti i CMS più usati nelle aziende sono scitti in Php e producono file in Php (vedi Wordpress, Joomla, ) Microsoft ha intrapreso da qualche anno la stessa politica dei prodotti Open Source attraverso le versioni Express dei suoi tools di sviluppo ma, come al solito, non fornisce tutto e soprattutto "le cose in più" (librerie, plugin, ) molto spesso sono a pagamento.

5 1.3 Php Introduzione Risorse sul Web sito ufficiale della comunità Php (in inglese) sito ufficiale della comunità MySql (esiste anche una sezione in lingua italiana in questo sito, ma non è del tutto tradotta) sito legato al consorzio W3C (in inglese) c'è tutto di tutto!!!! WAMP e LAMP????? E per il MAC XAMPP (X= per ogni S.O. A=Apache M=MySql P=PhP P=Perl) ha dei problemi su Windows, conviene usare EasyPhP Sistema di sviluppo in locale EasyPhp Editor Adobe Dreamweaver quello che useremo (breve spiegazione) NetBeans (scritto in Java per Java e poi esteso anche ad altri linguaggi) Visual Studio IDE 2008/2010/2012 con particolari plugin di terze parti (a pagamento!!!!!) Framework Zend, CodeIgniter, Yii, raccolta di classi e funzioni soprattutto per interfacce grafiche evolute e accesso ai dati

6 1.4 Php Introduzione Php: lato server e lato client Pagine statiche (Html) e pagine dinamiche (PhP, Asp.net, Jsp, ) le pagine dinamiche (Php) sono elaborate dal server web e restituite all'utente come pagine statiche (Html); al massimo possono contenere "script" che funzionano lato client (ad esempio in javascript) le pagine in Php hanno estensione.php

7 1.5 Php Introduzione PhP la sua funzione fondamentale è quella di produrre codice HTML. PhP è però un linguaggio di programmazione lato server quindi abbiamo la possibilità di analizzare cosa è stato richiesto al server Web e possiamo produrre come risposta codice Html condizionato ai risultati della richiesta In definitiva abbiamo realizzato il Web dinamico

8 1.6 Php Introduzione Istallare EasyPhp il file è nella cartella C:\Temp Shortcut sul desktop della cartella /www Copia del file index.php da C:\Temp /www Lanciare EasyPhp Click con il pulsante destro sull'icona Dal menù selezionare Configuration EasyPhp Impostare la lingua su Italiano; Lasciare la spunta solo sulla terza, quinta e sesta voce Premere OK Il menù di EasyPhp passa in lingua italiana Fare click sulla voce Sito locale notare indirizzo del sito ( = localhost) uguale per tutti e la porta (8080, 8887, ) che può essere diversa da computer a computer per motivi, prevalentemente, di software istallato. Cosa succede se il file index.php lo rinominiamo default.php

9 2 Php I concetti di base: la sintassi del linguaggio Come fa il Server Web a capire che gli stiamo spedendo codice scritto in PhP? guardando l'estensione del file (.php) non basta, perché se rinomino un file.html con.php il Server Web me lo rimanda indietro così come è inserendo dei TAG opportuni all'interno della pagina per distinguerlo dal codice Html: TAG di apertura <?php?> TAG di chiusura nelle versioni precedenti alla 5 si usavano anche: TAG di apertura <script language="php" </script> TAG di chiusura i cosiddetti TAG BREVI TAG di apertura <??> TAG di chiusura TAG di apertura <% %> TAG di chiusura (stile Microsoft Asp) Sono disabilitati dalla versione 5 ma attivabili nel file php.ini per motivi di retrocompatibilità. Usate sempre i primi per i nuovi progetti!!!

10 2.1 Php I concetti di base: istruzioni e commenti Istruzione (token) blocco di codice; ; separatore di istruzioni; () e/o {} raggruppamento di istruzioni. Tutte le istruzioni in Php terminano con il punto e virgola, solo alcune fanno eccezione: i commenti, le espressioni dentro i cicli condizionali,, altre che scopriremo nel corso delle lezioni 2 tipi di commenti in Php // commento su una linea; /* */ commento su più linee.

11 2.2 Php I concetti di base: ouptut dei dati Echo output a video Print output a video Attenzione alla leggibilità del codice non basta che gli script php siano scritti ben formattati, con i commenti, et altro: occorre che anche l'html della pagina risulti ben leggibile perché molti errori si capiscono subito guardando il codice sorgente della pagina prodotta carattere di escape \n usato opportunamente

12 3 Php Variabili e tipi di dato Variabili contenitori di informazioni iniziano sempre con il carattere $ Per definirle si possono utilizzare tutti i caratteri dalla a alla z (minuscolo o maiuscolo), i numeri da 0 a 9 e il carattere speciale _ (underscore); sono vietati gli spazi e qualunque altro carattere; $a è diversa da $A le variabili sono di tipo case sensitive; le variabili possono essere valorizzate con qualsiasi dato testo, numeri, date, valori vero/falso, valori complessi; in Php una variabile può essere utilizzata senza dichiararne il tipo prima Php è un linguaggio di programmazione fortemente tipizzato (tipizzazione dinamica): possiamo quindi riferirci ad una variabile direttamente con la sua valorizzazione;

13 3.1 Php Variabili e tipi di dato Errori con le Variabili Errori di tipo E_NOTICE sono gli errori meno gravi, la cui visualizzazione dipende dalle impostazioni nel il file di configurazione php.ini (per default sono abilitati). Un errore di questo tipo non compromette il buon funzionamento dello script, che infatti viene eseguito regolarmente.

14 3.2 Php Variabili e tipi di dato Tipizzazione del linguaggio PhP è un linguaggio debolmente tipizzato al contrario di altri linguaggi di programmazione (Asp.Net, Jsp, ) non serve indicare di che tipo di dato è la variabile, basta solo definirla e assegnargli un valore Php, da questo valore capisce e assegna il tipo di dato giusto alla variabile Questa operazione si chiama CAST ; Questo facilita la programmazione ma è rigoroso dal punto di vista della logica di programmazione? La risposta è No.

15 3.3 Php Variabili e tipi di dato PhP, come accennato in precedenza, è un linguaggio fortemente tipizzato: non assegna il Tipo di dato alla variabile ma lo deduce dal valore associato; Php gestisce i seguenti tipi di dato, String; Number; Boolean; Array; Constant; Date e Time;

16 3.4 Php Variabili e tipi di dato String sequenza di caratteri alfanumerici Due sistemi per specificare una stringa virgolette semplici, virgolette doppie Per un carattere di base occorrono 8 bit = 1 byte, quindi la dimensione dipende dal numero di caratteri. Per stringhe contenenti già "doppie virgolette" o "virgolette singole" escape character (\, \n, \t, \\, \$) Per concatenare 2 stringhe usare il "punto" $stringa 1. $stringa2 (lo spazio serve solo a migliorare la leggibilità)

17 3.5 Php Variabili e tipi di dato Stringhe: espansione delle variabili Le stringhe delimitate da doppie possono contenere delle variabili perché l interprete Php sa come trattarle. La tecnica si chiama Espansione della variabile

18 3.6 Php Variabili e tipi di dato Number due diversi tipi di numeri: intero e in virgola mobile Intero (int) dipende dal sistema operativo ma, tipicamente, è a 32 bit possono assumere valori con segno da a zero compreso (da a 2 32 ). In virgola mobile (float) su piattaforme a 32 bit si estende da 1.7E-308 a 1.7E+308 (da a 2 64 ) con una precisione fino a 14 cifre decimali. Per compatibilità supporta anche la parola double. Per i numeri interi, quando superano il loro limite vengono, automaticamente convertiti in virgola mobile Funzione var_dump(); per ritornare il tipo di dato numerico;

19 3.7 Php Variabili e tipi di dato Variabili booleane come tutti i linguaggi di programmazione, Php utilizza particolari variabili per mostrare condizioni del tipo vero/falso. Se una variabile è TRUE mostra 1 Se una varibile è FALSE mostra niente (blank)

20 3.8 Php Variabili e tipi di dato COSTANTI variabile che mantiene immutato il suo valore durante tutta l'esecuzione dello script in cui è richiamata Non hanno il prefisso $ davanti; Distinguono tra maiuscole e minuscole ma per convenzione si richiede che siano scritte solo in maiuscolo; Non possiedono operatore di assegnazione (=) ma si utilizza l istruzione define Se chiamate 2 volte nello stesso script, generano errore

21 3.9 Php Variabili e tipi di dato Array è un tipo di dato che contiene una serie di valori, anche diversi nel tipo. Possono essere semplici o di tipo associativo; Per vedere come è fatto un array dal punto di vista della struttura basta usare la funzione print_r(nome_array); per vedere il tipo di dati presenti in un array basta usare la funzione var_dump(nome_array) utile per array misti; ritorneremo a parlare di array dopo i cicli si esaminano tramite un particolare ciclo noto come foreach.

22 3.10 Php Variabili e tipi di dato Conversioni tra tipi di dato Diverse funzioni e operazioni necessitano che le variabili siano dello stesso tipo per ottenere il risultato voluto Conversione implicita effettuato direttamente dal motore di Php

23 3.11 Php Variabili e tipi di dato Conversioni tra tipi di dato Esistono delle funzioni interne a Php (funzioni di sistema) che indicano se una variabile è di un determinato tipo: Is_type richiede un argomento e restituisce un valore booleano; Settype richiede due argomenti, la variabile da convertire e il tipo in cui deve essere convertita, e restituisce una variabile nel tipo richiesto.

24 3.12 Php Variabili e tipi di dato DATE e TIME altro dato di tipo complesso Php è nato su SO Unix, quindi utilizza il timestamp dello stesso per rappresentare date e ore una particolare data-ora è misurata in secondi a partire dal 01/01/1970 ed è quindi rappresentata da un numero (le date precedenti sono rappresentate da numeri negativi. I codici di formattazione sono moltissimi, li trovate sul sito ufficiale di Php. Sono riassunti nella slide successiva.

25 3.13 Php Variabilie tipi di dato Date Codice Descrizione Y anno su 4 cifre y anno su 2 cifre n mese numerico (1-12) m mese numerico su 2 cifre (01-12) F mese testuale ('January' - 'December') M mese testuale su 3 lettere ('Jan' - 'Dec') d giorno del mese su due cifre (01-31) j giorno del mese (1-31) w giorno della settimana, numerico (0=dom, 6=sab) l giorno della settimana, testuale ('Sunday' - 'Saturday' ) D giorno della settimana su 3 lettere ('Sun' - 'Sat') H ora su due cifre (00-23) G ora (0-23) i minuti su due cifre (00-59) s secondi su due cifre (00-59) mysql usa il proprio formato Datatime oltre al Timestamp, quindi salvare le date in esso è una questione distinta che và verificata con le regole del database.

26 4 Php Operatori aritmetici, di confronto e logici Operatori aritmetici sono quelli classici e lavorano con numeri interi e in virgola mobile. Gli operandi che non sono di questo tipo vengono convertiti in uno di questi tipi e valutati. Operatori confronto ci permettono, effettuando dei confronti fra valori, di prendere delle decisioni, cioè di far svolgere al nostro codice determinate operazioni invece di altre. Operatori logici confrontano i risultati di due espressioni

27 4.1 Php Operatori aritmetici + addizione - sottrazione * moltiplicazione / divisione % modulo (resto della divisione) Possiedono anche una versione di assegnazione in cui l operando sinistro è anche la variabile in cui collocare il risultato: += -= *= /= %=

28 4.2 Php Operatori di confronto Gli operatori confronto sono 7 e sono riportati nella tabella seguente: == uguale!= Diverso (<>) === identico (cioè uguale e dello stesso tipo: ad es. per due variabili di tipo intero) > maggiore >= maggiore o uguale < minore <= minore o uguale

29 4.3 Php Operatori di confronto Esempio di confronto tra numeri Nel confronto tra numeri non c'è nulla da spiegare a parte il terzo: Il risultato è falso perché nonostante le due variabili siano entrambe valorizzate con il valore 7, una è identificata di tipo INTERO e l'altra di tipo VIRGOLA MOBILE $a = 7; $b = 7.0; $c = 4; //assegniamo valori a tre variabili $a == $b; // vero $a == $c; // falso $a === $b; // falso, perché $a è intero mentre $b è float $a > $c; // vero $c >= $a; // falso $c < $a; // vero $c <= $b; // vero:

30 4.4 Php Operatori di confronto Esempio di confronto tra stringhe In questo caso il confronto viene fatto basandosi sull ordine alfabetico dei caratteri vale a dire che vengono considerati minori i caratteri che vengono prima nell ordine alfabetico: a è minore di b, b è minore di c, tutte le lettere minuscole sono maggiori delle lettere maiuscole; tutte le lettere, maiuscole e minuscole, sono maggiori delle cifre da 0 a 9. $a = 'Mario'; $b = 'Giorgio'; $c = 'Giovanni'; $d = 'antonio'; $e = '4 gatti'; $a < $b; // falso, la 'G' precede la 'M' $b < $c; // vero, la 'r' ('Gior') precede la 'v' ('Giov') $d > $a; // vero, la 'a' minuscola è 'maggiore' di qualsiasi lettera maiuscola $c > $e; // vero, ogni lettera è 'maggiore' di qualsiasi cifra

31 4.5 Php Operatori logici Gli operatori logici sono 3 e sono riportati nella seguente tabella: Operatore Or oppure And oppure && Not oppure! Descrizione Se almeno una delle due espressioni è true, ritorna true altrimenti ritorna false Se entrambe le espressioni sono vere, ritorna true altrimenti ritorna false È l operatore di negazione. Ritorna true quando l espressione è falsa e false quando l'espressione è vera Ordine di applicazione degli operatori logici: Operatore logico 'And' Operatore logico 'Or' Not (!) può andare dovunque

32 4.6 Php Operatori logici Esempi di uso degli operatori logici 10 > 8 And 7 < 6; // falso, perché la prima condizione è vera ma la seconda è falsa; 10 > 8 && 7 < 6 10 > 8 Or 7 < 6; // vero; 10 > 8 / < 6 9 > 5 And 5 == 5.0; // vero, entrambe le condizioni sono vere; 9 > 5 And 5 === 5.0; // falso!9 > 5 // falso

33 5 Php Strutture di controllo e cicli Strutture di controllo Strutture di controllo altro aspetto fondamentale della programmazione Rappresenta la possibilità di eseguire operazioni diverse, una o più volte, valutando determinate condizioni.

34 5.1 Php Strutture di controllo e cicli Strutture di controllo L'istruzione If è una di questa e ci permette di eseguire o non eseguire certe porzioni di codice. La sua struttura completa è: If (<condizione>) { <codice> } [elseif { La presenza di parentesi [ ] indica che il } codice è opzionale else { }] Appena è verificata una delle condizioni, se ne esiste più di una, esce dall'if

35 5.2 Php Strutture di controllo e cicli Strutture di controllo Operatore ternario è una forma sintetica di If else, permette di risparmiare codice $risultato = (condizione da verificare)? valore per true : valore per false ;

36 5.3 Php Strutture di controllo e cicli Strutture di controllo L'istruzione switch può essere utilizzata come alternativa alla if per selezionare opzioni da un elenco di possibilità quando sono molte rende il codice più compatto switch (<condizione>) { case (<valore 1>): <codice> [break; o exit / die;] case (<valore 2>): <codice> [break; o exit / die;]... default: <codice>; [break; o exit / die;] }

37 5.4 Php Strutture di controllo e cicli Strutture di controllo L istruzione switch nel linguaggio Php, al contrario di altri linguaggi, può esaminare anche etichette non numeriche Con switch il codice prosegue anche dopo che la condizione è verificata per uscire dal ciclo usare l istruzione break che interrompe il ciclo e prosegue nell esecuzione di ciò che è scritto nella pagina.php Nel caso si presentasse una condizione in cui si deve ignorare tutto il codice scritto dopo switch, usare le istruzioni exit oppure die che interrompono completamente l esecuzione della pagina, qualunque cosa scritta dopo il ciclo.

38 5.5 Php Strutture di controllo e cicli Cicli Presenti in tutti i linguaggi di programmazione, ci permettono di eseguire più volte la stessa operazione su i dati con condizioni ben precise. Sono di 3 tipi: Ciclo WHILE Ciclo DO WHILE (variante del precedente) Ciclo FOR

39 5.6 Php Strutture di controllo e cicli Cicli WHILE WHILE Nella sua forma generale è: $variabile=inizializzazione_valore_variabile; While ($variabile "operatore_di_confronto" valore) { <codice> incremento_valore_variabile } È una specie di If ripetuto più volte Il ciclo non ci permette di definire l'intervallo di validità della variabile quindi Il valore viene inizializzato prima del ciclo; Il valore viene incrementato durante il ciclo. Il ciclo termina quando la condizione fra parentesi () diventa false Il ciclo potrebbe non essere mai eseguito se la condizione è false fin dall'inizio

40 5.7 Php Strutture di controllo e cicli Cicli DO WHILE DO WHILE Nella sua forma generale è: $variabile=inizializzazione_valore_variabile; do { <codice> } while ($variabile "operatore_di_confronto" valore) Si differenzia dal precedente perché, anche se non è mai verificata la condizione tra parentesi, mi fa vedere il valore che assume la variabile al termine del ciclo.

41 5.0 Php Strutture di controllo e cicli Cicli FOR È quello più usato e la sua forma generica è la seguente: codice. for (valore_iniziale; valore_finale; incremento/decremento) { risultato } codice For parola chiave (. ) istruzioni per definire il ciclo (step) la prima è eseguita una sola volta; la terza ad ogni step la seconda è valutata prima di ogni step. Quando risulta false, il ciclo termina e il controllo passa all'istruzione immediatamente dopo il ciclo for {. } istruzioni ripetute per ogni step

42 5.9 Php Strutture di controllo e cicli Cicli FOR Attenzione a non generare un ciclo infinito (loop), in cui il ciclo non raggiunge mai una via d uscita. In questo caso, infatti, lo script rieseguirebbe il nostro ciclo all infinito. In alcuni casi, un errore di questo genere potrebbe costringerci a forzare la chiusura del programma o addirittura a eseguire il restart del Server Web anche se in PhP, questo di solito non succede, in quanto gli script PHP hanno un limite di tempo per la loro esecuzione, oltre il quale si arrestano (30 sec) e che si imposta nel file php.ini.

43 6 Php Array Array Abbiamo già introdotto gli array come "tipo di dato complesso che contiene più valori di un'unica variabile" Gli array sono di 2 tipi: Numerico si accede al valore (elemento) attraverso l'indice o posizione (da 0 a N-1 se N è il numero di elementi dell'array) dell'elemento stesso ; associativi. oltre che attraverso l'indice, si può accedere al valore (elemento) attraverso una "chiave" associata all'elemento stesso. Possiamo esaminare il contenuto dei dati in diversi modi come esposto nell'esempio citato. In particolare introduciamo un nuovo tipo di ciclo ideato apposta per gli array: FOREACH Foreach (array as nome_variabile) { codice }

44 7 Php Funzioni Definizione Una funzione è un insieme di istruzioni che hanno lo scopo di eseguire determinate operazioni. La praticità delle funzioni sta nel fatto che ci consentono di non dover riscrivere tutto il codice ogni volta che abbiamo la necessità di eseguire quelle operazioni comuni: ci basta infatti richiamare l'apposita funzione, fornendole eventuali parametri per la sua esecuzione. Le funzioni possono essere interne a Php oppure definite dall'utente. In entrambi i casi, il modo di definirle e utilizzarle è lo stesso: function nome_funzione([p1,p2,,pn]) { <codice> return $risultato } nome_funzione ([p1,p2,,pn]) se non ritorna alcun valore $variabile = nome_funzione([p1,p2,,pn]) se ritorna un valore; dove p1,, pn sono i parametri. Il fatto che siano presentati tra parentesi indica che sono opzionali

45 7.1 Php Funzioni Funzioni definite dall'utente I parametri scritti fra "parentesi tonde" sono le variabili passate alla funzione: possono essere passati per valore (non possono essere cambiati) o per riferimento (possono essere cambiati) È possibile assegnare un valore predefinito ad un parametro di modo che, in assenza di valore, venga utilizzato questo. È possibile passare anche un array come parametro. Le funzioni possono eseguire solo delle operazioni oppure restituire un valore in questo caso bisogna inserire l istruzione return;

46 7.2 Php Funzioni Funzioni definite dall'utente Porzioni di codice scritte dall'utente per: utilizzarle in più punti del programma; per rendere il codice più leggibile e quindi manutenibile il modo migliore è usare l'istruzione include Possono essere chiamate con una qualsiasi combinazione di caratteri alfanumerici e l undescore ma non con un numero; È sconsigliato l uso di caratteri speciali perché creano problemi con alcuni S.O.

47 7.3 Php Funzioni Funzioni definite dall'utente È possibile realizzare funzioni che non mostrano solo il risultato a video a seconda dell'input ma eseguono una o più azioni e ne mostrano il risultato. Esempio di funzione (a 2 parametri) che ritorna un risultato: function nome_funzione(parametro1, parametro2) { <codice> return $variabile; } Per richiamarla scrivo: $parametro1=valore1; $parametro2=valore2; $risultato=nome_funzione (parametro1,parametro2); echo $risultato;

48 7.4 Php Funzioni Include e Require Sono 2 istruzioni che permettono di includere file esterni, ovvero copiare il loro contenuto completo dentro il file che lo richiede Sintassi: include percorso_file/nome_file ; oppure include ( percorso_file/nome_file ); require percorso_file/nome_file ; oppure require ( percorso_file/nome_file ); I due comandi producono il medesimo risultato. Unica differenza consiste nella gestione di eventuali errori: nel caso in cui il file da includere non si esiste, include() genererà un errore di tipo warning (non blocca l esecuzione dello script) mentre require() genererà un errore di tipo fatal error (blocca di fatto l'esecuzione dello script). E' da segnalare l'esistenza di due varianti, include_once e require_once. La loro funzione e sintassi è identica alle precedenti con l'unica differenza che prima di includere il file verificano che questo non sia già stato precedentemente incluso nella pagina: in questo caso non fanno nulla.

49 7.5 Php Funzioni Funzioni interne generiche Sono funzioni che agiscono sulle variabili in generale per verificarne un particolare attributo (tipicamente tipo, stato e valore) ritornando True o False a seconda del caso Is_numeric($valore) Is_bool($valore) Is_null($valore) Meritano una menzione particolare empty ($valore) Isset($valore) Per settare un tipo Settype($valore,tipo) dove tipo è passato come stringa tra apici o doppie virgolette

50 7.6 Php Funzioni Funzioni interne per stringhe parte 1 Sono la classe di funzioni più numerose interne a PhP ed altre ancora possono essere costruite dall'utente con una loro combinazione. Vediamo le più usate, rimandando alla documentazione in linea (www.php.net) per tutte le altre strlen() restituisce la lunghezza di una stringa, spazi compresi; trim(), ltrim(), rtrim() rispettivamente eliminano spazi vuoti a destra e sinistra, solo sinistra e solo a destra; strlen() applicata prima o dopo di essa produce risultati diversi; strtolower(), strtoupper() trasforma una stringa rispettivamente tutto in minuscolo o tutto in maiuscolo; substr() estrae una stringa da un'altra stringa; strpos() trova la posizione di una stringa all'interno di un'altra ritorna un numero str_replace() sostituisce una stringa dentro un'altra o anche un carattere dentro un altro

51 7.7 Php Funzioni Funzioni interne per stringhe parte 2 htmlspecialchars () converte caratteri speciali <,>,& e " nell'equivalente HTML; addslashes/stripslashes sostituiscono rispettivamente "l'apostrofo" con "\'" e viceversa. Molto utile nel caso delle query quando sono presneti stringhe di testo con apostrofi all interno (esempio L Aquila); explode() trasforma una stringa in un array. Accetta due parametri obbligatori: il carattere separatore nella stringa; la stringa; Possiede la sua inversa, implode(), come funzione degli array.

52 7.8 Php Funzioni Funzioni interne per i Numeri parte 1 Per manipolare i numeri occorre anzitutto assicurarci che questi siano tali. tre sono le funzioni di controllo (ritornano true o false): is_numeric(): accetta come parametro una variabile di qualsiasi tipo e verifica se è un numero (intero, decimale o negativo). può essere utilizzata anche con stringhe contenenti solo numeri; is_int(): accetta come parametro una variabile di qualsiasi tipo e verifica se è un numero intero. può essere utilizzata anche con stringhe contenenti solo numeri; is_float(): accetta come parametro una variabile di qualsiasi tipo e verifica se è un numero con decimali. Nel caso di un numero interno, tale funzione ritorna false.

53 7.9 Php Funzioni Funzioni interne per i Numeri parte 2 intval(): fondamentale soprattutto nell'interazione con i database, trasforma qualsiasi tipo di variabile in un intero se si tratta di un numero decimale lo arrotonda a intero; se si tratta di un numero negativo lo trasforma in positivo; se si tratta di altro lo trasforma in 0 (zero). È utilizzata soprattutto nell'ambito delle query su MySql se occorre eseguire una query su un campo numerico e di tipo intero di MySql, tale funzione ci garantisce che il parametro immesso nella query sarà effettivamente un intero. max() e min(): restituiscono un massimo e un minimo di una serie di valori numerici contenuti dentro variabili singole o array. Le stringhe coinvolte in tale funzioni assumeranno come valore 0 (zero).

54 7.10 Php Funzioni Funzioni interne per i Numeri parte 3 rand(): genera numeri casuali tra val1 e val2; ceil(), floor(), round(): arrotondamento dei numeri in virgola mobili in interi. ceil() arrotonda per eccesso; floor() arrotonda per difetto; round() per difetto o per eccesso a seconda delle cifre scartate. Possiede 3 parametri di cui: il primo è obbligatorio e rappresenta il numero da arrotondare; il secondo è facoltativo e rappresenta il numero di cifre da mantenere dopo la virgola (default = 0); il terzo è facoltativo e gestisce l'arrotondamento dell'ultima cifra nel caso questa sia pari a 5 il valore è espresso tramite delle costanti (PHP_ROUND_HALF_UP e PHP_ROUND_HALF_DOWN)

55 7.11 Php Funzioni Funzioni interne per i Numeri parte 4 number_format() formatta un numero e restituisce una stringa che non è più utile per operazioni matematiche in pratica il suo uso è solo estetico, di stampa a video. Accetta 4 parametri ma solo a coppie di due (2): La prima coppia indica il numero da formattare e i numero di decimali (omesso corrisponde a nessun decimale e la stringa risultante rappresenta un numero intero); Il terzo indica il separatore tra parte intera e decimale (default = il punto); Il quarto il separatore delle migliaia (default = la virgola)

56 7.12 Php Funzioni Funzioni interne per Array Visto che abbiamo appena parlato di Array, cominciamo con esse. count(array) ritorna il numero di elementi di un array; array_reverse(array) inverte gli elementi di un array. Ha un secondo parametro di tipo booleano: se vogliamo mantenere l'associazione originale chiave-valore dobbiamo impostarlo su true sort() ordina in maniera crescente (array semplici); rsort() ordina in maniera decrescente (array semplici); ksort() come sort() ma secondo le chiavi (array associativi); krsort() come rsort() ma secondo le chiavi (array associativi); asort() come sort() ma secondo i valori (array associativi); arsort() come rsort() ma secondo i valori (array associativi); array_search() cerca un valore in un array, se lo trova mostra la chiave altrimenti ritorna False; in_array() cerca un valore in un array, se lo trova ritorna True altrimenti False end() punta all'ultimo elemento dell'array implode() trasforma un array in un stringa

57 7.13 Php Funzioni Funzioni interne per Date time() restituisce la data in formato unix timestamp. È un numero intero rappresentante i secondi intercorsi dal 1 gennaio 1970 al momento attuale. Valori precedenti sono espressi come numeri negativi. date() restituisce la data nel formato desiderato e, quindi, è impiegata, prevalentemente, solo ai fini di visualizzazione della data. Accetta due parametri: il primo è una stringa (il formato di visualizzazione); il secondo, opzionale, è il timestamp (default = timestamp attuale la data attuale); mktime(par1,par2,par3,par4,par5,par6) (dove da par1 a par6 sono rispettivamente ore, minuti, secondi, giorno, mese e anno. L'assenza di uno di questi genera errore) serve ad impostare il timestamp di una data passata o futura.

58 8 Php Accesso ai file (parte 1) Php, dalla versione 5, offre la possibilità di accedere ai file esterni. Il primo gruppo di istruzioni permette la manipolazione dei file file_exists(nome_file) verifica se il file esiste ritorna True/False file_get_contents(nome_file) carica un file in una stringa e ne fa l output a video. file(nome_file) legge rigo per rigo di un file restituendo un array composto da tanti elementi quante sono le righe del file in oggetto; filesize(nome_file) ritorna il numero di caratteri del file; copy(file_origine,file_destinazione) copia un file in un altro file ritorna True/False; rename(file_origine, file_destinazione) rinomina un file ritorna True/False; unlink(nome_file) cancella il file ritorna True/False.

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side.

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side. PHP 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

Dettagli

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: roberto.tronci@diee.unica.it!

Dettagli

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

PHP 1. Scripting lato server. Come funziona uno script. Che cosa è PHP 1. Esempio. Elementi del linguaggio. Più pseudo-tag nello stesso documento

PHP 1. Scripting lato server. Come funziona uno script. Che cosa è PHP 1. Esempio. Elementi del linguaggio. Più pseudo-tag nello stesso documento Scripting lato server Elementi del linguaggio PHP 1 L'URL che il browser richiede identifica una risorsa presente in un server http costituita da Codice HTML Pezzi di codice scritti in un linguaggio di

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Nozioni di base sull utilizzo di PHP e di MySQL

Nozioni di base sull utilizzo di PHP e di MySQL Nozioni di base sull utilizzo di PHP e di MySQL Che cos è PHP? Mi sento in dovere prima di iniziare ad illustrare le nozioni di base di PHP introdurre dicendo PHP che cos è in sostanza; fino a qualche

Dettagli

Introduzione a PHP Gestione dei Dati e della Conoscenza

Introduzione a PHP Gestione dei Dati e della Conoscenza Introduzione a PHP Gestione dei Dati e della Conoscenza Diego De Cao, Roberto Basili {decao,basili}@info.uniroma2.it a.a. 2008/2009 PHP Overview PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor")

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

2. Costruire un database con Apache, PHP e MySql

2. Costruire un database con Apache, PHP e MySql 2. Costruire un database con Apache, PHP e MySql Lo scopo di questa esercitazione è realizzare un server web e costruire un database accessibile attraverso Internet utilizzando il server Apache, il linguaggio

Dettagli

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

www.mtcube.com Manuale di ASP

www.mtcube.com Manuale di ASP Manuale di ASP Sommario degli argomenti Che cosa sono le Active Server Pages... 3 Struttura, creazione ed esecuzione della pagina Asp... 3 Variabili e tipi di dati... 4 Numero Intero... 4 Numeri in virgola

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

Dettagli

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Basi di Dati. Programmazione e gestione di sistemi telematici

Basi di Dati. Programmazione e gestione di sistemi telematici Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini Php: come nasce Il World Wide Web è stato

Dettagli

Guida a PHP. Primi esempi

Guida a PHP. Primi esempi Guida a PHP Php è un modulo aggiuntivo per web server che permette di creare delle pagine web dinamiche. Una pagina in Php è composta sia da tag html, sia da parti in codice di programmazione Php. Ogni

Dettagli

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 11. PHP - Complementi Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 8. PHP Parte I Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata A.A. 2010/2011

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Lavorare con MySQL Parte Seconda.

Lavorare con MySQL Parte Seconda. Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

ASP: DOMANDE E RISPOSTE (Q&A)

ASP: DOMANDE E RISPOSTE (Q&A) Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: DOMANDE E RISPOSTE (Q&A) Dispensa La dispensa presenta i contenuti fondamentali di ASP nella

Dettagli

APPUNTI DI PHP : V INFORMATICA SEZIONE G

APPUNTI DI PHP : V INFORMATICA SEZIONE G APPUNTI DI PHP : V INFORMATICA SEZIONE G Prof. Conti R. mysql_connect() Apre una connessione verso un DB MySQL. $db = mysql_connect([$db_host[, $db_username[, $db_password[, $newlink[,$clientflags]]]]]);

Dettagli

Perchè un database? Perchè un database? Tipi di DataBase. Scegliere un database. ! Sicurezza. ! Evitare la ridondanza. ! Architettura multilivello

Perchè un database? Perchè un database? Tipi di DataBase. Scegliere un database. ! Sicurezza. ! Evitare la ridondanza. ! Architettura multilivello ! Evitare la ridondanza Perchè un database? Avere PHP che assembla le pagine velocemente da un modello ed un DB è un esperienza unica. Con lo sforzo di programmazione di una pagina, si possono produrre

Dettagli

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti.

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. Questa possibilità si materializza attraverso i meccanismi che permettono

Dettagli

Architettura a tre livelli (1)

Architettura a tre livelli (1) Elaborazione Automatica dei Dati Php e MySQL Enrico Cavalli Anno Accademico 2012-2013 Architettura a tre livelli (1) Le applicazioni sono sviluppate secondo una architettura a tre livelli, affermatasi

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

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

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Laboratorio di reti II: PHP

Laboratorio di reti II: PHP Laboratorio di reti II: PHP Stefano Brocchi brocchi@dsi.unifi.it 2 marzo, 2009 Stefano Brocchi Laboratorio di reti II: PHP 2 marzo, 2009 1 / 55 Il PHP Il PHP è un linguaggio di scripting che si può inserire

Dettagli

La programmazione web: lato client e lato server

La programmazione web: lato client e lato server La programmazione web: lato client e lato server Parlando di PHP e di altri linguaggi di scripting può capitare di sentir citare le espressioni "lato client" e "lato server": per chi non è esperto della

Dettagli

Introduzione a Php. Php http://www.php.net Il sito ufficiale di Php dove potrai scaricare gratis l ultima release di Php. Freeware.

Introduzione a Php. Php http://www.php.net Il sito ufficiale di Php dove potrai scaricare gratis l ultima release di Php. Freeware. Introduzione a Php In questa guida vedremo di capire insieme le basi di uno dei linguaggi di scipting lato server più usati sul Web: PHP o più precisamente PHP Hypertext Processor. PHP è un potentissimo

Dettagli

PHP: Professional Hypertext Preprocessor

PHP: Professional Hypertext Preprocessor PHP: Professional Hypertext Preprocessor Corso di Base Lezione 1 Per iniziare Docente Prof. Antonio Curci 1 Capitolo 1: Per iniziare Introduzione: che cosa è il PHP? A metà degli anni Novanta il Web era

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Utilizzare PHP 5. Le variabili GET e POST

Utilizzare PHP 5. Le variabili GET e POST Utilizzare PHP 5 Corso Interazione Uomo Macchina AA 2005/2006 Le variabili GET e POST La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste

Dettagli

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Costruzione di Siti Web con PHP e MySQL Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Argomenti della lezione In questa lezione si riprenderanno le strutture di controllo, verrà introdotto

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

bool mysql_select_db([string database_name [,resource link_identifier]]) Connessione ad un server MySQL vuole conettere

bool mysql_select_db([string database_name [,resource link_identifier]]) Connessione ad un server MySQL vuole conettere Connessione ad un server MySQL resource mysql_connect ([string server [, string username [, string password [, bool new_link [, int client_flags]]]]]) server nome o indirizzo del server username nome utente

Dettagli

----------------------------------------------------------------

---------------------------------------------------------------- ---------------------------------------------------------------- utilizzo frequente di chiamate a.. A differenza del Pascal, il C permette di operare con assegnamenti e confronti su dati di tipo diverso,

Dettagli

L interfaccia a riga di comando di MySql

L interfaccia a riga di comando di MySql L interfaccia a riga di comando di MySql Una volta completata la procedura di installazione possiamo finalmente testare le funzionalità di MySQL. Sia che ci si trovi in ambiente Linux che Windows, l'interfaccia

Dettagli

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli Costruzione di Siti Web con PHP e MySQL Lezione 4: Operatori, Array, Controlli e Cicli Argomenti della lezione In questa lezione si riprenderà il concetto di Array, nel suo aspetto basilare, ed in particolare

Dettagli

PHP e MySQL. Scripting server-side per accesso a DB MySQL

PHP e MySQL. Scripting server-side per accesso a DB MySQL PHP e MySQL Scripting server-side per accesso a DB MySQL Connessione a un DB MySQL Prima di accedere ai dati è necessario creare una connessione con il DB In PHP si utilizza la funzione mysql_connect,

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com 15.03.2006 Ver. 1.0 Scarica la versione pdf ( MBytes) Nessuno si spaventi! Non voglio fare né un manuale

Dettagli

Manuali.net. Nevio Martini

Manuali.net. Nevio Martini Manuali.net Corso base per la gestione di Siti Web Nevio Martini 2009 Il Linguaggio HTML 1 parte Introduzione Internet è un fenomeno in continua espansione e non accenna a rallentare, anzi è in permanente

Dettagli

Introduzione a PHP. Simone Baldassin Webdesign

Introduzione a PHP. Simone Baldassin Webdesign Introduzione a PHP Phpè un linguaggio di programmazione nato nel 1995 per mano di RasmusLerdof utilizzando un set di caratteri binari scritto in C (altro linguaggio di programmazione) e gran parte della

Dettagli

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

La velocità di una carovana

La velocità di una carovana Programmazione A.A. 2002-03 I linguaggio Java ( Lezione X, Parte I ) Il primo programma Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Programmazione Web. Laboratorio 4: PHP e MySQL

Programmazione Web. Laboratorio 4: PHP e MySQL Programmazione Web Laboratorio 4: PHP e MySQL Lavagna elettronica (I) Un unità aziendale di decision making opera per le decisioni di tipo consueto e ripetitivo tramite la procedura seguente: un qualsiasi

Dettagli

Remote SQL Command Execution

Remote SQL Command Execution Remote SQL Command Execution Spesso si ha a che fare con SQL Injection se ci si trova nel campo della sicurezza informatica, ma non sempre si è a conoscenza di quanto una vulnerabilità del genere può essere

Dettagli

PHP: form, cookies, sessioni e. Pasqualetti Veronica

PHP: form, cookies, sessioni e. Pasqualetti Veronica PHP: form, cookies, sessioni e mysql Pasqualetti Veronica Form HTML: sintassi dei form 2 Un form HTML è una finestra contenente vari elementi di controllo che consentono al visitatore di inserire informazioni.

Dettagli

Introduzione al Python

Introduzione al Python Andrea Passerini passerini@disi.unitn.it Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti

Dettagli

Il linguaggio PHP Introduzione

Il linguaggio PHP Introduzione Pagina 1 di 11 Il linguaggio PHP Introduzione Il nome PHP, acronimo per Professional Home Pages, già la dice lunga sulla sua vocazione per la Rete: lo scopo del linguaggio è quello di consentire agli sviluppatori

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access Prologo Parlando di tecnologie Web legate a Microsoft è naturale integrare le funzioni di ASP 1 con

Dettagli

1 JavaScript: generalità

1 JavaScript: generalità 1 JavaScript: generalità JavaScript (di seguito abbreviato in JS) è un linguaggio di scripting (linguaggio usato per definire degli script, dei piccoli programmi di utilità, composti anche di sole poche

Dettagli

Applicazione client-server in PHP con database MySQL

Applicazione client-server in PHP con database MySQL Applicazione client-server in PHP con database MySQL Emanuele Scapin 1 1 Liceo Statale F.Corradini, via Milano 1, 36016 Thiene 30/05/2012 1 Premessa Dopo la trattazione di argomenti teorici di progettazione

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

Il sito della scuola con Joomla

Il sito della scuola con Joomla sabato 26 ottobre 2013 LINUX DAY 2013 E OPEN SPACE SCUOLA Il sito della scuola con Joomla a cura di Gianluigi Pelizzari gianpelizzari@yahoo.it Il sito della scuola con Joomla Joomla è un progetto nato

Dettagli

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0 AJAX Goy - a.a. 2006/2007 Servizi Web 1 Cos'è il Web 2.0 Web 2.0 = termine introdotto per la prima volta nel 2004 come titolo di una conferenza promossa dalla casa editrice O Reilly L'idea è che ci si

Dettagli

ISTRUZIONI PASSO PASSO PER CREARE UN SITO CON JOOMLA SU ALTERVISTA

ISTRUZIONI PASSO PASSO PER CREARE UN SITO CON JOOMLA SU ALTERVISTA ISTRUZIONI PASSO PASSO PER CREARE UN SITO CON JOOMLA SU ALTERVISTA REGISTRARSI AL SITO ALTERVISTA, PER OTTENERE SPAZIO WEB GRATUITO o Andare sul sito it.altervista.org o Nel riquadro al centro, scrivere

Dettagli

Le espressioni regolari.

Le espressioni regolari. Lezione 8 Le espressioni regolari. Le espressioni regolari. Corrispondenze e classi di caratteri. Le regular expressions (espressioni regolari) servono per descrivere dei modelli di stringa. E possibile

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Introduzione allo sviluppo Web. Studium Generale, a.a. 2013-2014, II semestre

Introduzione allo sviluppo Web. Studium Generale, a.a. 2013-2014, II semestre Introduzione allo sviluppo Web Studium Generale, a.a. 2013-2014, II semestre 1 Contatto Daniel Graziotin daniel.graziotin@unibz.it http://ineed.coffee/teaching/introdu zione-allo-sviluppo-web 2 Esame Esame

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

UltraSMS. Introduzione. 1. Primo Avvio 1.1 Installazione 1.2 Impostazioni

UltraSMS. Introduzione. 1. Primo Avvio 1.1 Installazione 1.2 Impostazioni UltraSMS Introduzione 1. Primo Avvio 1.1 Installazione 1.2 Impostazioni 2. Gestire Contatti 2.1 Inserire/modificare/cancellare un contatto 2.2 Importare i contatti da Outlook 2.3 Creare una lista di numeri

Dettagli

UltraSMS. Introduzione. 1. Primo Avvio 1.1 Installazione 1.2 Impostazioni

UltraSMS. Introduzione. 1. Primo Avvio 1.1 Installazione 1.2 Impostazioni UltraSMS Introduzione 1. Primo Avvio 1.1 Installazione 1.2 Impostazioni 2. Gestire Contatti 2.1 Inserire/modificare/cancellare un contatto 2.2 Importare i contatti da Outlook 2.3 Creare una lista di numeri

Dettagli

OR true null false true true true true null true null null false true null false NOT

OR true null false true true true true null true null null false true null false NOT Il linguaggio SQL è un linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali ed ha le seguenti caratteristiche: è dichiarativo; opera su multiset di tuple,

Dettagli

Programmazione in Excel con il linguaggio Visual Basic

Programmazione in Excel con il linguaggio Visual Basic Programmazione in Excel con il linguaggio Visual Basic L'ambiente di programmazione Il foglio elettronico Excel, così come gli altri prodotti Office di Microsoft, possiede un vero e proprio ambiente di

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

Il sito della scuola con

Il sito della scuola con Incontro in aula virtuale del 24 gennaio 2013 Il sito della scuola con La sicurezza di un sito Joomla Il Pacchetto Joomla pasw quickstart versione 2.0. a cura di Gianluigi Pelizzari IIS Fantoni Clusone

Dettagli

SOLUZIONE SECONDA PROVA INFORMATICA ITC ESAME DI STATO 2002/2003 TRAMONTANA

SOLUZIONE SECONDA PROVA INFORMATICA ITC ESAME DI STATO 2002/2003 TRAMONTANA Esame di Stato Istituto Tecnico Commerciale CORSO SPERIMENTALE Progetto "MERCURIO" Indirizzo: PROGRAMMATORI Soluzione della Seconda Prova - Tema di: INFORMATICA Anno Scolastico: 2002-2003 Riflessioni e

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

Introduzione ad SQL. 1. Introduzione. 2. Gli operatori. 3. Istruzione SELECT. 4. Istruzione INSERT. 5. Istruzione UPDATE. 6.

Introduzione ad SQL. 1. Introduzione. 2. Gli operatori. 3. Istruzione SELECT. 4. Istruzione INSERT. 5. Istruzione UPDATE. 6. Introduzione ad SQL Guida a cura di Rio Chierego 1. Introduzione 2. Gli operatori 3. Istruzione SELECT 4. Istruzione INSERT 5. Istruzione UPDATE 6. Istruzione DELETE 7. Istruzione CREATE, ALTER e DROP

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 1. Introduzione a Internet e al WWW Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica

Dettagli

Dato un form contenente

Dato un form contenente <input type=text name=weight size=20 /> Dato un form contenente Lo script PHP inserisce l input dell utente in una variabile speciale chiamata $_REQUEST['weight']il cui argomento è uguale al corrispondente

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Applicazione ASP di esempio

Applicazione ASP di esempio Applicazione ASP di esempio Database in rete Prof. Claudio Maccherani Un server web è un programma che gira su un computer sempre collegato ad Internet e che mette a disposizione file, pagine e servizi.

Dettagli

Funzionamento del protocollo FTP

Funzionamento del protocollo FTP Alunno:Zamponi Claudio Numero matricola:4214118 Corso: Ingegneria Informatica Funzionamento del protocollo FTP L'FTP, acronimo di File Transfert Protocol (protocollo di trasferimento file), è uno dei protocolli

Dettagli

Laboratorio di Calcolo, Facoltà di Fisica, Università Roma 1. MiniGuida PHP. http://labcalc.phys.uniroma1.it/sharedwindowsdocs/

Laboratorio di Calcolo, Facoltà di Fisica, Università Roma 1. MiniGuida PHP. http://labcalc.phys.uniroma1.it/sharedwindowsdocs/ Laboratorio di Calcolo, Facoltà di Fisica, Università Roma 1 MiniGuida PHP http://labcalc.phys.uniroma1.it/sharedwindowsdocs/ Liberamente adottata ed adattata a soli scopi didattici e senza fini di lucro

Dettagli

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE Training per esperti TECNICHE AVANZATE DI I/O SU FILE Spesso, la decisione di dividere in processi differenti la produzione dei dati dall uso degli stessi viene presa perché occorre scrivere i dati su

Dettagli

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

Dettagli

--- PREMESSE INTRODUZIONE. .:luxx:.

--- PREMESSE INTRODUZIONE. .:luxx:. SQL INJECTION --- SICUREZZA.:luxx:. PREMESSE Questa guida accenna ad alcuni metodi di SQL injection e si sofferma sulla prevenzione di tali attacchi, per comprendere al meglio il testo è necessaria una

Dettagli

Gestione di un Forum

Gestione di un Forum Indice generale Gestione di un Forum Analisi... 1 Schema ER... 2 Dizionario dei dati... 3 Schema logico... 3 Scelte implementative... 4 DataBase utilizzato... 8 SQL... 11 Manuale d'uso... 12 Analisi Problema

Dettagli

Rappresentazione delle informazioni

Rappresentazione delle informazioni Rappresentazione delle informazioni Rappresentazione delle informazioni L informatica si occupa di rappresentare ed elaborare informazioni diverse: numeri caratteri audio immagini video I caratteri: ASCII

Dettagli