php il linguaggio html e javascript, impongono delle limitazioni alle applicazioni che si possono...

23
PHP

Upload: lauretta-pala

Post on 01-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

PHP

Page 2: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E’ POSSIBILE COSTRUIRE UN SITO WEB CHE CONSENTA ALL’UTENTE DI ACCEDERE AI DATI CONTENUTI IN UN DATABASE. QUESTI TIPI DI LINGUAGGI SVOLGONO QUINDI LA LORO FUNZIONE DAL LATO CLIENT DI UN ARCHITETTURA WEB (CLIENT SIDE).

PER POTER INTERAGIRE CON I DATABASE CHE SI TROVANO SUL SERVER REMOTO, SI DEVONO UTILIZZARE ALTRE TECNOLOGIE CHE EFFETTUINO DELLE OPERAZIONI DAL LATO DEL SERVER. IN ALTRE PAROLE SI DEVONO USARE GLI STRUMENTI SERVER-SIDE.

Page 3: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

I DUE STRUMENTI SOFTWARE NECESSARI PER INTERAGIRE CON I DATABASE SONO PHP E MYSQL. QUESTI AMPLIANO LE FUNZIONALITA’ DEL SERVER WEB E PERMETTONO DI RECUPERARE O MODIFICARE LE INFORMAZIONI CONTENUTE NEI DATABASE.

Page 4: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

PHP E’ UN LINGUAGGIO DI SCRIPTING SIMILE A JAVASCRIPT PERCHE’ I SUOI COSTRUTTI VENGONO INSERITI IN UN FILE TESTO CHE INCORPORA ANCHE MARCATORI DEL LINGUAGGIO HTML. QUESTO LINGUAGGIO VIENE INTERPRETATO DAL SERVER WEB ED E’ UNO STRUMENTO CHE PERMETTE DI CREARE PAGINE WEB DINAMICHE. IL SOFTWARE CHE INTERPRETA QUESTO LINGUAGGIO VIENE AGGIUNTO AL SERVER WEB COME UN MODULO ESTERNO.

Page 5: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

ELEMENTI DI BASE DEL LINGUAGGIO PHP

PHP E’ UN LINGUAGGIO DI SCRIPTING CHE ESTENDE LE FUNZIONALITA’ DEL SERVER WEB CONSENTENDO L’INTERPRETAZIONE DI FILE CON ESTENSIONE .PHP. I PRINCIPALI VANTAGGI DI PHP SONO I SEGUENTI:

•RENDE PU’ VELOCE LA CREAZIONE E LO SVILUPPO DI APPLICAZIONI WEB

•FACILITA LA FASE DI MANUTENZIONE E AGGIORNAMENTO DELLE APPLICAZIONI

•I SUOI SCRIPT SONO COMPATIBILI SU DIVERSE PIATTAFORME

•INCLUDE LA POSSIBILITA’ DI ACCEDERE A VARI TIPI DI DATABASE

•APPARTIENE ALLA CATEGORIA DEL SOFTWARE LIBERO

Page 6: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

IL SEGUENTE ESEMPIO MOSTRA UNA PAGINA WEB CHE INGLOBA UNO SCRIPT:

<HTML>

<HEAD>

<TITLE>ESEMPIO PHP </TITLE>

</HEAD>

<BODY>

<H1> PAGINA DINAMICA</H1>

<?PHP

ECHO “GENERATA CON <B> IL LINGUAGGIO PHP</B>

?>

</BODY>

</HTML>

Page 7: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

ISTRUZIONI DI OUTPUT

NELL’ESEMPIO PRECEDENTE VIENE INVOCATA LA FUNZIONE ECHO CON UNA STRINGA COME PARAMETRO. LA STRINGA PUO’ CONTENERE TESTO E TAG HTML. LA FUNZIONE ECHO SERVE PER INVIARE UNA STRINGA AL BROWSER DELL’UTENTE.

UN’ALTRA FUNZIONE CHE PERMETTE DI STAMPARE UNA QUALSIASI INFORMAZIONE ALL’INTERNO DEL CODICE HTML E’ LA FUNZIONE PRINT UTILIZZANDO LA SINTASSI:

PRINT(“QUESTA E’ UNA STRINGA\N”);

INOLTRE , ALL’INTERNO DELLE STRINGHE STAMPATE CON LA FUNZIONE E’ POSSIBILE INSERIRE DIRETTAMENTE I NOMI DELLE VARIABILI; QUESTE VERRANNO AUTOMATICAMENTE SOSTITUITE CON IL VALORE DELLE VARIABILI STESSE PRIMA CHE LA STRINGA VENGA STAMPATA.

Page 8: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

LA SINTASSI DEL LINGUAGGIO PHP E’ SIMILE A QUELLA DI ALTRI LINGUAGGIO DI PROGRAMMAZIONE COME IL C E JAVA. OGNI ISTRUZIONE PUO’ OCCUPARE UNA O PIU’ RIGHE E TERMINA SEMPRE CON ILCARATTERE DI PUNTO E VIRGOLA(;).

VARIABILI E OPERATORI

LA VARIABILI SONO IDENTIFICATE DA UN NOME PRECEDUTO DAL SEGNO DEL DOLLARO $ SONO CASE- SENSITIVE E DEVONO INIZIARE CON UNA LETTERE . NON E’ NECESSARIO DICHIARARE LE VARIABILI, QUINDI UNA VARIABILE VIENE GENERATA NEL MOMENTO IN CUI LE SI ASSEGNA UN VALORE.

Page 9: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

ES:

<?PHP

$CONTATORE =125; //contiene un intero

$DESCRIZIONE=“ARTICOLO IN VENDITA” ; //contiene una stringa

$PREZZO=31.2; //contiene un floating point

?>

LE VARIABILI ASSEGNATE ALL’INTERNO DI UN FILE .PHP SONO VARIABILI GLOBALI, CIOE’ SONO VISIBILI E POSSONO ESSERE UTILIZZATE IN QUALSIASI PUNTO DEL FILE ANCHE ALL’INTERNO DI DIVERSI TAG <?PHP>. NON ESSENDOCI LA DICHIARAZIONE DELLE VARIABILI, NON E’ POSSIBILE ASSOCIARE UN TIPO A UNA CERTA VARIABILE. QUESTO SIGNIFICA CHE IL LINGUAGGIO , IN MODO AUTONOMO E DINAMICO, ATTRIBUISCE IL TIPO AD OGNI VARIABILE. IL TIPO ASSOCIATO A UNA VARIABILE, PUO’ VARIARE ALL’INTERNO DELLO SCRIPT.

Page 10: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

I PRINCIPALI TIPI DI VARIABILI•NUMERO INTERO

•NUMERO A VIRGOLA MOBILE

•STRINGA

•VALORI LOGICI

•ARRAY

•OGGETTO

Page 11: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

ESISTONO DUE MODALITA’ PER ASSEGNARE UN VALORE ALLE VARIABILI CHE MEMORIZZANO UNA STRINGA:

•RACCHIUDENDO IL TESTO TRA DOPPI APICI “

•RACCHIUDONO IL TESTO TRA APICI SINGOLI ‘

CON IL PRIMO METODO, SE ALL’INTERNO DELLA STRINGA SONO PRESENTI ALTRE VARIABILI, QUESTE VENGONO ESPANSE NEL LORO VALORE. CON IL SECONDO METODO QUESTO NON AVVIENE.

PER ESEMPIO:

<?php

$nome=“Daniela”;

$saluto=“Buongiorno $nome”; //contiene:Buongiorno Daniela

$saluto=‘Buongiorno $nome’ //contiene:Buongiorno $nome

?>

Page 12: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

LE STRINGHE POSSONO ESSERE CONCATENATE UTILIZZANDO IL PUNTO (.) COME OPERATORE DI CONCATENAZIONE.

PER ESEMPIO:

<?php

$nome=“Daniela”;

$saluto=“Buongiorno “. $nome; //contiene:Buongiorno Daniela

$somma=34;

$messaggio=“Totale =“.$somma; //contiene :Totale=34

?>

GLI OPERATORI ARITMETICI, LOGICI, DI RELAZIONE SONO GLI STESSI DEL LINGUAGGIO C++

Page 13: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

ARRAY

GLI ARRAY RAPPRESENTANO UNA VARIABILE CHE CONTIENE UN INSIEME DI VALORI IDENTIFICATI DA UN INDICE. L’INDICE CON CUI SI ACCEDE AGLI ELEMENTI DEGLI ARRAY PUO’ ESSERE UN NUMERO OPPURE UNA STRINGA. NEL PRIMO CASO SI PARLA DI ARRAY NUMERICI, NEL SECONDO CASO ARRAY ASSOCIATIVI.

GLI ELEMENTI DI UN ARRAY POSSONO ESSERE DI QUALSIASI TIPO E NON E’ NECESSARIO CHE SIANO TUTTI DELLO STESSO TIPO.

ESEMPIO ARRAY NUMERICO:

$PREZZI[0]=123; OPPURE $PREZZI=ARRAY(123,163);

$PREZZI[1]=163;

$DATI[0]=1; OPPURE $DATI=ARRAY(1,”DUE”);

$DATI[1]=“DUE”;

Page 14: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

NEGLI ARRAY ASSOCIATIVI L’INDICE E’ UNA STRIGA CHE E’ INDICATA TRA DOPPI APICI. QUESTO TIPO DI ARRAY ASSOMIGLIA AL RECORD NEI LINGUAGGI DI PROGRAMMAZIONE.

ESEMPIO:

$PERSONA[“NOME”]=“LAURA”;

$PERSONA[“ANNI”]=38;

OPPURE: $PERSONA=ARRAY(“NOME”=>”LAURA”, “ANNI”=>38);

IL LINGUAGGIO PHP METTE A DISPOSIZIONE DIVERSE FUNZIONI CHE OPERANO SUGLI ARRAY:

COUNT : RICEVE COME PARAMETRO L’ARRAY E RESTITUISCE IL NUMERO DI ELEMENTI DI CUI E’ COMPOSTO.

VAR_DUMP: VISUALIZZA TIPO E VALORE DEL CONTENUTO DI UNA VARIABILE RICEVUTA COME ARGOMENTO.

ES:

VAR_DUMP($PREZZ[1]) /VISUALIZZA :INT (62)

Page 15: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

STRUTTURE DI CONTROLLOLE STRUTTURE DI CONTROLLO SONO:

IF PER LA SELEZIONE BINARIA:

IF (CONDIZIONE)

{

//ISTRUZIONI ESEGUITE SE CONDIZIONE E’ VERA

}

ELSE

{

//ISTRUZIONI ESEGUITE SE CONDIZIONE E’ FALSA

}

Page 16: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

E’ ESISTE ANCHE LA STRUTTURA DI CONTROLLO PER LA SELEZIONE MULTIPLA CHE FA USO DEL COSTRUTTO IF..ELSEIF..ELSE..COME RIPORTATO DI SEGUITO:

<?php

if ($valore>0)

echo ‘valore >di 0’;

elseif ($valore==0)

echo ‘valore=0’;

else ‘valore<0’;

?>

Page 17: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

COSTRUTTO SWITCH

QUANDO E’ NECESSARIO EFFETTUARE TEST MULTIPLI SU ESPRESSIONI SINGOLE E’ A DISPOSIZIONE UN COSTRUTTO APPOSITO: SWITCH.

SWITCH(ESPRESSIONE)

CASE “VALORE1”:

//ISTRUZIONE;

BREAK;

CASE “VALORE2”:

//ISTRUZIONE;

BREAK;

ECC..

DEFAULT:

//ISTRUZIONE

Page 18: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

I CICLI

IL COSTRUTTO FOR , LA CUI SINTASSI E’:

FOR(espr.iniziale;espr.condizionale;passo)

{

BloccoIstruzioni

}

VIENE ESEGUITA ALMENO UNA VOLTA.VIENE VERIFICATA LA CONDIZIONE , E SE RISULTA VERA VIENE ESEGUITO IL BLOCCOISTRUZIONI.ESCE DAL CICLO QUANDO LA CONDIZIONE DIVENTA FALSA.ES.

<HTML>

<BODY>

<?PHP

$MAX=10;

FOR($I=1; $I<MAX; $I++)

{

PRINT (“RIGA ”.$I);

}

? >

</BODY>

</HTML

Page 19: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

NEL COSTRUTTO ITERATIVO WHILE LA SINTASSI E’:

WHILE (EspressioneCondizionale)

{

BloccoIstruzioni

}

VIENE VERIFICATA LA CONDIZIONE , E SE RISULTA VERA VIENE ESEGUITO IL BLOCCOISTRUZIONI.ESCE DAL CICLO QUANDO LA CONDIZIONE DIVENTA FALSA.ES.

<HTML>

<BODY>

<?PHP

$MAX=10;

$I=0;

WHILE($I<$MAX)

{

PRINT (“RIGA ”.$I);

$I++;

}

?>

</BODY>

</HTML>

Page 20: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

IL COSTRUTTO DO… WHILE, LA CUI SINTASSI E’:

DO

{

BloccoIstruzioni

} WHILE (EspressioneCondizionale)

VIENE ESEGUITA ALMENO UNA VOLTA.VIENE VERIFICATA LA CONDIZIONE , E SE RISULTA VERA VIENE ESEGUITO IL BLOCCOISTRUZIONI.ESCE DAL CICLO QUANDO LA CONDIZIONE DIVENTA FALSA.ES.

<HTML>

<BODY>

<?PHP

$I=0;

DO {

PRINT (“RIGA ”.$I);

$I++;

} WHILE(I<10);

? >

</BODY>

</HTML>

Page 21: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

VARIABILI PREDEFINITE

IL LINGUAGGIO PHP POSSIEDE UN GRAN NUMERO DI VARIABILI PREDEFINITE, SONO RAGGRUPPATE NEI SEGUENTI ARRAY ASSOCIATIVI:

•$_GET: CONTIENE LE VARIABILI PASSATE ALLO SCRIPT TRAMITE LA MODALITA’ GET.

•$_POST: CONTIENE LE VARIABILI PASSATE ALLO SCRIPT TRAMITE LA FUNZIONE POST;

•$_SERVER: CONTIENE LE VARIABILI PASSATE ALLO SCRIPT DAL SERVER WEB;

•$_COOKIE;

•$_SESSION;

ESSENDO ARRAY ASSOCIATIVI, PER ACCEDERE AL VALORE DI UN ELEMENTO BISOGNA UTILIZZARE UN NOME COME INDICE DELL’ARRAY.

GLI ARRAY $_GET E $_POST, CONTENGONO LE VARIABILI CHE IL BROWSER WEB PUO’ PASSARE COME PARAMETRI QUANDO RICHIAMA UNO SCRIPT PHP, COME VEDREMO IN SEGUITO.

Page 22: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

INTERAZIONE CON L’UTENTE TRAMITE I MODULI HTML

L’INTERAZIONE CON L’UTENTE CHE UTILIZZA UNA PAGINA WEB PUO’ ESSERE GESTITA ATTRAVERSO I MODULI DEL LINGUAGGIO HTML(FORM) , CHE PERMETTONO LA COSTRUZIONE DI UN’INTERFACCIA GRAFICA, FORMATA DA CASELLE DI TESTO E DA PULSANTI.

TRAMITE QUESTA INTERFACCIA , L’UTENTE PUO’ INSERIRE I VALORI E INVIARLI AL SERVER WEB COME PARAMETRI DELLO SCRIPT.

<FORM ACTION=“MOSTRA.PHP” METHOD =“POST”>

PAROLA:<INPUT TYPE =“TEXT” NAME=“PAROLA”>

<INPUT TYPE =“SUBMIT” VALUE=“CERCA”>

QUANDO SI FA CLIK SUL PULSANTE DI INVIO CON L’ETICHETTA CERCA, IL BROWSER RICHIAMA LO SCRIPT MOSTRA.PHP INDICATO COME VALORE DELL’ATTRIBUTO ACTION. IL BROWSER AGGIUNGE ALLA RICHIESTA TUTTI I CAMPI PRESENTI NEL MODULO. PER OGNI CAMPO CREA UN PARAMETROAVENTE COME NOME IL NOME DEL CAMPO (INDICATO DALL’ATTRIBUTO NAME DEL TAG INPUT) E COME VALORE CIO’ CHE L’UTENTE HA INSERITO NELLA CASELLA DI TESTO.

Page 23: PHP IL LINGUAGGIO HTML E JAVASCRIPT, IMPONGONO DELLE LIMITAZIONI ALLE APPLICAZIONI CHE SI POSSONO REALIZZARE; PER ESEMPIO NON E POSSIBILE COSTRUIRE UN

L’ATTRIBUTO METHOD DEL FORM HTML HA IL COMPITO DI INDICARE AL BROWSER QUALE METODO DEVE UTILIZZARE PER INVIARE I CAMPI DEL MODULO AL SERVER WEB. LE MODALITA’ DISPONIBILI SONO GET E POST.

IL FILE MOSTRA.PHP

<HTML>

<HEAD></HEAD>

<H3>LA PAROLA INSERITA E’</H3>

<?PHP

$P=$_POST[“PAROLA”];

ECHO($P);

?>

</BODY>

</HTML>

L’ARRAY PREDEFINITO $POST CONTIENE LE VARIABILI PASSATE ALLO SCRIPT TRAMITE LA MODALITA’ POST. L’IDENTIFICAZIONE DELLA VARIABILE VIENE EFFETTUATA INDICANDO IL NOME TRA PARENTESI QUADRE: $POST[“PAROLA”]