Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala [email protected] Dott.ssa Maria Vittoria Avolio [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. strpos('Lorenzo', 'renzo')=2; • 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 Scrivere un’interfaccia PHP che contiene I seguenti campi: • Nome • Cognome • Password Pagina secondaria Verifica che il codice sia valido. La Password è valida se: è lungo almeno 6 caratteri (esclusi gli spazi), contiene il carattere – in seconda posizione ed il carattere @ in terza posizione Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP Programmi Pagina principale <html> <head> <title> HTML</title> </head> <body> <FORM method="post" action="pagSecEs1.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: pagSecEs1.php <html> <head> <title>PHP </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 $Pword = $_POST["pwd"]; $PwdSenzaSpazi = trim($Pword); $LunghPWD = strlen($PwdSenzaSpazi); -----------------------------------> Corso di Informatica A.A. 2010-2011 Laurea Triennale - Comunicazione&Dams - Unical PHP Programmi if($LunghPWD <6) //esempio di if concatenati { $PosizioneMENO = strpos($PwdSenzaSpazi,"-"); //trova nella stringa $PwdSenzaSpazi il simbolo -, se non lotrova restituisce false if($PosizioneMENO ==2) { $PosizioneChiocciola = strpos($PwdSenzaSpazi,"@"); if($PosizioneChiocciola ==3) echo "la password è valida"; else echo "la password Non è valida, non contiene @ 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