Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala [email protected] Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP Variabili e costanti Concettualmente una variabile è un contenitore di informazione , in cui l’informazione può essere modificata dinamicamente. In PHP una variabile si definisce usando il simbolo speciale $ seguito dal nome della variabile. Il nome della variabile deve iniziare con un underscore oppure una lettera (a-z, A-Z) , seguito da una o più lettere, underscore oppure numeri. ESEMPI DI VARIABILI • $_var1 valido • _VAR1 NON valido perché manca $ come primo carattere • $Nome2 valido • $_nome valido • $3Nome NON valido perché dopo $ compare un numero Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP Funzioni predefinite • is_numeric(stringa): restituisce TRUE se stringa è un numero, FALSE altrimenti. • strlen(stringa) conta la lunghezza di stringa, cioè il numero di caratteri che la compongono. Restituisce un numero intero. • trim(stringa) elimina gli spazi all'inizio e alla fine di stringa. Restituisce la stringa modificata. Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP L’enunciato if Negli esempi che abbiamo visto il flusso del programma, ovvero l'ordine con cui vengono eseguite le istruzioni, procede in maniera sequenziale, nell’ordine in cui le istruzioni si presentano leggendo il programma dall’alto verso il basso. Esistono, tuttavia, diverse situazioni in cui questo modo di procedere non va bene. Immaginiamo ad esempio di dover realizzare una pagina web in cui gli utenti registrati possono scaricare un certo file mentre gli utenti non registrati devono ricevere un avviso. Chiaramente, il programma si troverà ad un bivio ed effettuare un controllo: se l'utente è registrato deve mostrare un collegamento al file da scaricare, altrimenti deve visualizzare un messaggio. Alcune istruzioni dovranno essere eseguite in un caso ma non nell'altro e viceversa. Come facciamo a gestire questa situazione? Quello che segue è lo schema generale di una struttura messa a disposizione dal PHP per risolvere il problema: if(condizione da verificare) { // istruzioni da eseguire in caso positivo } else { // istruzioni da eseguire in caso contrario } Potremmo leggerla in questo modo: se (if) la condizione tra parentesi tonde è vera allora esegui il primo gruppo di istruzioni, delimitate dalle parentesi graffe. Altrimenti (else) esegui il secondo gruppo di istruzioni, sempre delimitate dalle parentesi graffe. Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP L’enunciato if Esercizio 1 Scrivere una form che contiene: - Un campo nome - Un campo anno di nascita - I pulsanti submit e cancel Il programma PHP associato alla form deve eseguire i seguenti controlli: - Prende come input il campo anno di nascita e se la stringa è un valore numerico scrive il messaggio «OK il valore inserito è un numero», altrimenti scrive «il campo data di nascita deve essere un numero». Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP L’enunciato if Pagina principale <html> <head> <title>PHP Test HTML</title> </head> <body> <FORM method="post" action=“pasSec-es2.php"> Nome: <INPUT type="text" name="nome"><BR> Anno di nascita: <INPUT type="text" name="anno"><BR> <INPUT type="submit" value="Invia"> <INPUT type="reset" value="cancella"> </FORM> </body> </html> Pagina secondaria <html> <head> <title>PHP Test HTML</title> </head> <body> <H3>Verifica che la stringa anno sia un numero</H3> <?PHP $anno = $_POST["anno"]; $ris = is_numeric($anno); if($ris == true) echo "L'Anno è un numero<BR>"; else echo "L'anno deve essere un numero!!!<BR>"; ?> </body> </html> Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP L’enunciato if Esercizio 2 Scrivere una form che contiene: - Un campo nome - Un campo anno di nascita - I pulsanti submit e cancel Il programma PHP associato alla form deve eseguire i seguenti controlli: - Prende come input il campo nome e se la stringa ha una lunghezza inferiore a 2 scrive il messaggio «nome non valido», altrimenti scrive «ok, nome corretto». Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP L’enunciato if Pagina secondaria <html> <head> <title>PHP Test HTML</title> </head> <body> <H3>Verifica che il nome contenga almeno 2 caratteri</H3> <?PHP $nome= $_POST["nome"]; $nomeSenzaSpazi = trim($nome); $lunghezza = strlen($nomeSenzaSpazi); echo "Lunghezza nome: $lunghezza"; if ($lunghezza < 2) echo " Nome non valido!"; else echo " Nome OK!"; ?> </body> </html> Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical