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 Funzioni predefinite ALCUNE OPERAZIONI CON LE STRINGHE • strtolower(stringa) converte tutti i caratteri alfabetici nelle corrispondenti lettere minuscole. Restituisce la stringa modificata. • strtoupper(stringa) converte tutti i caratteri alfabetici nelle corrispondenti lettere maiuscole. Restituisce la stringa modificata. Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP Funzioni predefinite ALCUNE OPERAZIONI CON LE STRINGHE • strpos(stringa1, stringa2) cerca la posizione della seconda stringa all'interno della prima. Ad esempio: strpos('Lorenzo', 'renzo') restituisce 2, ad indicare la terza posizione. Restituisce un intero che rappresenta la posizione a partire da 0 della stringa cercata. Se la seconda stringa non è presente nella prima, restituisce il valore booleano FALSE. • stripos(s,s) fa la stessa ricerca di strpos senza tenere conto della differenza fra maiuscole e minuscole. Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP Esempi ES1 Stringa1= ARCOBALENO 10 caratteri, dalla posizione 0 alla posizione 9 Stringa2= BALENO Strpos verifica se la stringa BALENO è presente nella strina ARCOBALENO e, in caso affermativo, restituisce la posizione di partenza di BALENO in Stringa1, ovvero 4. NB: Strpos fa una ricerca ESATTA, tenendo conto anche delle lettere maiuscole e minuscole ES2 Stringa1= ARCObALeNO 10 caratteri, dalla posizione 0 alla posizione 9 Stringa2= BALENO Strpos verifica se la stringa BALENO è presente nella strina ARCOBALENO e, in caso affermativo, restituisce la posizione di partenza di BALENO in Stringa1. In questo caso la ricerca fallisce. NB: Strpos fa una ricerca ESATTA, tenendo conto anche delle lettere maiuscole e minuscole ES3 Stringa1= ARCOBALENO 10 caratteri, dalla posizione 0 alla posizione 9 Stringa2= bALEnO Stripos verifica se la stringa bALEnO è presente nella strina ARCOBALENO e, in caso affermativo, restituisce la posizione di partenza di bALEnO in Stringa1, ovvero 4. NB: Strpos NON fa una ricerca ESATTA, non tiene conto di maiuscole e minuscole Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP Programmi Pagina principale <html> <head> <title>PHP Test HTML</title> </head> <body> <FORM method="post" action="pagSec_es1.php"> Nome: <INPUT type="text" name="nome"><BR> Cognome: <INPUT type="text" name="cognome"><BR> Password: <INPUT type="text" name="pwd"><BR> <INPUT type="submit" value="Invia"> <INPUT type="reset" value="cancella"> </FORM> </body> </html> Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP Programmi Pagina secondaria: pagSec_es1.php <html> <head> <title>PHP Test HTML</title> </head> <body> <H3>Verifica che il codice sia valido. Il codice è valido se: è lungo almeno 6 caratteri (esclusi gli spazi), contiene il carattere – in seconda posizione ed il carattere @ in terza posizione</H3> I dati inseriti sono:<BR> <LI>Nome: <?PHP echo $_POST["nome"] ?></li> <LI>Cognome: <?PHP echo $_POST["cognome"] ?></li> <LI>Password: <?PHP echo $_POST["pwd"] ?></li> <?PHP $password = $_POST["pwd"]; $pwdSenzaSpazi = trim($password); $lunghezzaPWD = strlen($pwdSenzaSpazi); if($lunghezzaCodice<6) { $posizioneMENO = strpos($pwdSenzaSpazi,"-"); if($posizioneMENO ==2) { $posizioneChiocciola = strpos($pwdSenzaSpazi,"@"); if($posizioneChiocciola ==3) echo "la password è valida"; else echo "la password Non è valida, deve contenere il carattere @ in posizione 3"; } else echo "la password Non è valida, deve contenere il carattere - in posizione 2"; }else echo "la password ha una lunghezza inferiore a 6 caratteri. Non valida"; ?> </body> </html> Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP Operatori logici Vengono usati per stabilire se alcune condizioni si verificano oppure no. OPERATORE AND è un operatore binario, ovvero si applica a due operandi. Op1 AND op2 Op1 Op2 AND true true True false true False false False False true false False Esempio (AND): Abbiamo le due variabili $a e $b. If($a>2 and $b==3) fai qualche cosa ………………………………………………….. Significa che «se è vero che il valore contenuto nella variabile $a è maggiore di 2 e (allo stesso tempo) il valore contenuto nella variabile $b è uguale a 3» allora la condizione espressa nel controllo if è vera e dobbiamo eseguire tutte le istruzioni comprese nel ramo if. In tutti gli altri casi la condizione espressa nel controllo if ritorna false, quindi non dobbiamo eseguire il blocco di istruzioni presenti ne ramo if. Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical