Sei sulla pagina 1di 37

Guida PHP

Il linguaggio PHP elabora dei dati e scrive in linguaggio HTML.


Dal PC inviamo dei dati ad un SERVER che dopo averli elaborati ci
restituisce l’ elaborato in HTML.

Una pagine PHP inizia così:

<?php
All’interno di questi tag inseriamo tutto il codice
?>

Per stampare a video dei dati inserire all’interno dei tag PRINT

<?php
print “Hello Word”;
?>

Differenze di stampa a video di PRINT:

<?php
print "Hello Word";
print "<br />"; <!--IN QUESTO MODO VADO A CAPO -->
print '1+5'; <!--IN QUESTO MODO NON ELABORA L’ADDIZIONE-->
print "<br />";
print "1+5"; <!--IN QUESTO MODO NON ELABORA L’ADDIZIONE-->
print "<br />";
print 1+5; <!--IN QUESTO MODO ELABORA L’ADDIZIONE-->
?>

In PHP abbiamo sempre un parametro /un comando e un / ;


Posso inserire codice HTML ho all’interno del comando PRINT o
posso uscire dal PHP per poi rientrare quando voglio.

<?php

print "Hello Word";


?>
<br />
<?php

print '1+5'; <!--IN QUESTO MODO NON ELABORA L’ADDIZIONE-->


print "<br />";
print "1+5"; <!--IN QUESTO MODO NON ELABORA L’ADDIZIONE-->
print "<br />";
print 1+5; <!--IN QUESTO MODO ELABORA L’ADDIZIONE-->
?>

Le variabili:

1
La variabile è un contenitore di dati, e si dichiara anteponendo $
al nome della variabile.
Importante: Il linguaggio PHP è casesensitive e interpreta
diversamente le lettere maiuscolo miniscolo.

$nomevariabile = “ciao”;

Per stampare a video utilizziamo il seguente codice:

print $nomevariabile;

ovviamente dobbiamo esprimere, generalmente ad inizio pagina le


nostre variabili quindi avremo:

<?php
$nomevariabile = “ciao”;
print $nomevariabile;
?>

Nel caso in cui inseriamo più variabili uguali, varrà l’ultima in


sequenza. Se noi però mandiamo in stampa di volta in volta le
variabili otterremo tutte le variabili per come li abbiamo
compilate.

Esempio:

<?php
$nomevariabile = “ciao”;
print $nomevariabile;
$nomevariabile = “Giuseppe”;
print $nomevariabile;
$nomevariabile = “Licciardi”;
print $nomevariabile;
?>

Il risultato sarà:
Ciao Giuseppe Licciardi

Le variabili hanno valore solamente all’interno della pagina che


visualizzo e non per l’intero sito.

2
Quando utilizziamo le “” il dato viene riconosciuto e
interpretato, gli ‘ invece non elaborano il dato ma lo stampano
come noi lo scriviamo, se non mettiamo niente invece il dato viene
elaborato e riconosciuto o come testo o come numero e in
quest’ultimo caso viene trattato come tale:

esempio:

<?php
$var = 5;
$var2 = 6;
print $var+$var2;
print "<br />";
print "$var+$var2";
print "<br />";
print '$var+$var2';
?>

Il risultato sarà:

11
5+6
$var+$var2

Per concatenare due variabili si utilizza il “.” e il codice sarà:

<?php
$var = 'Ciao';
$var2 = 'Giuseppe';
$var3 = "$var"."$var2";
print $var3;
?>

Il risultato sarà:
Ciao Giuseppe

Se voglio dare lo spazio o utilizzo tra le due variabili uno


spazio ‘ ‘ o se ne voglio dare più spazi inserisco &nbsp;

Se voglio aggiungere ad una variabile gia espressa un altro valore


bisogna scrivere il “.” Di concatenazione tra le variabili in fase
di dichiarazione. Il codice sarà:

<?php
$var='Ciao';
$var2='Hello';
$var.=$var2; <!--in questo modo concateno la var alla var2-->

3
print $var;
?>

Se voglio dare lo spazio tra le variabili il codice sarà:

<?php
$var ='Ciao';
$var2 ='Hello';
$var .=' '.$var2;

print $var;
?>

Le variabili booleane sono identificate con la logica “true” e


“False”:

$enrico=true;
$dario=false;

CONSTRUCTO IF - ELSE
If (condizione) {

Fai qualcosa

}
Else {

Fai qualcos’altro

Il segno = è un operatore di assegnazione.

OPERATORI DI CONFRONTO
= = che sta per uguale
!= diverso
> maggiore
< minore
>= maggiore uguale
<= minore uguale

Esempio:

<?php
$a =5;
$b =7;
if ($a==$b) <!--Se la condizione si verifica stampa-->
{

4
print “non sono uguali”;
}
Else <!--Altrimenti stampa-->
{
Print “sono uguali”;
}
?>
Nel caso in cui scriviamo il seguente codice il risultato sarà
sempre “TRUE”

If ($var=5){
Print “si”;
}
Else{
Print “no”
}

OPERATORI LOGICI CONDIZIONALI

And  && (STA PER “E”)


Or  || (STA PER “O”)
Not  ! (STA PER IL CONTRARIO)

$var =3;
$var2=7;

If ($var>5) and ($var2<5){


Print “si”;
}
Else{
Print “no”
}

Se vogliamo sapere se un numero è pari o dispari dobbiamo


utilizzare l’operatore modulo:

Esempio:

5%2
5:2=2

In questo caso avremo resto “1” e quindi capiremo che il numero è


dispari, se il risultato restituito era “0” il numero era pari.

OPERATORI MATEMATICI

+  ADDIZIONE
-  SOTTRAZIONE

5
/  DIVISIONE
*  MOLTIPLICAZIONE
%  MODULO (Per verificare se un numero è pari)

Nel caso in cui ci troviamo a scrivere lettere con l’apostrofo


dobbiamo anteporre all’apostrofo il “\”
Esempio: print ‘l\’aquila’

Tecniche per trasferire i dati dai form a una pagina


esterna
<form action="pagina2.php" method="post">
<input type="text" name="nome" id="camponome" />
<input type="submit" id="invia" name="invia" value="spedisci" />
</form>

<?php
$valore=$_POST['nome'];
print "Benvenuto $valore";
?>

Il risultato inserendo nel FORM “Giuseppe” sarà: Benvenuto


Giuseppe

Altro esempio:

Impostiamo la condizione che deve stampare a video se il numero è


pari o dispari e inoltre lo moltiplichiamo per dieci.

<?php
$valore=$_POST['nome'];
if ($valore%2==0){
print "il numero &egrave; pari";

}
else {

print "Il numero &egrave; dispari";


}
print "<br />";
print $valore*10;

?>

Il risultato inserendo “6” sarà: il numero è pari 60

Altro esempio:

<?php
$valore=$_POST['nome'];
$valore2=$_POST['nome2'];

print $valore*$valore2;
print "<br />";

6
print $valore/$valore2;
print "<br />";
print $valore+$valore2;
print "<br />";
print $valore-$valore2;
?>
Il risultato inserendo “4” e “3” sarà: “12” “1.33333333333” “7”
“1”

Funzioni per convertire il testo da miniscolo a maiuscolo


e viceversa:

Se abbiamo bisogno di rendere maiuscola la prima lettera di una


parola, oppure renderla minuscola o anche cambiare da maiuscolo a
minuscolo una lettera di una stringa o viceversa, il PHP mette a
disposizione diversi metodi:

• ucfirst()
• ucwords()
• strtolower()
• strtoupper()

Esempio:

<?php
$valore=$_POST['nome'];
// converto il testo da minuscolo a maiuscolo:
print strtoupper($valore);
print "<br />";
// converto il testo da maiuscolo a minuscolo:
print strtolower($valore);
print "<br />";
// converto il primo carattere della frase da minuscolo a maiuscolo:
print ucfirst($valore);
print "<br />";
// converto il primo carattere di ogni parola da minuscolo a maiuscolo:
print ucwords($valore);
?>

Il risultato inserendo “programmatore web 2 anno accademico 2009”


sarà:

PROGRAMMATORE WEB 2 ANNO ACCADEMICO 2009


programmatore web 2 anno accademico 2009
Programmatore web 2 anno accademico 2009
Programmatore Web 2 Anno Accademico 2009

Funzione Redirectory

7
Se volessimo creare ad esempio un’area di login è necessario
creare tre pagine:

• Una che contiene il FORM;


• Una che elabora i dati;
• Infine la pagina di destinazione.

Prima pagina che contiene il form:

<html>
<head>
<title>
Pagina che contiene il FORM
</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form action="login.php" method="post">
<input type="text" name="nome" id="camponome" />
<input type="text" name="cognome" id="campopass" />
<input type="submit" id="invia" name="invia" value="spedisci" />
</form>
</body>
</html>

Seconda pagina che elabora i dati e ti rimanda alla pagina di destinazione se le


condizioni sono soddisfatte:

<?php
$nome='giuseppe';
$pass='licciardi';
$user=$_POST['nome'];
$password=$_POST['cognome'];

if (($nome==$user)and($pass==$password)){
header ("location: http://192.168.1.92/licciardi/pagina2.php");
}
else {
header ("location: http://192.168.1.92/licciardi/pagina1.php");
}
?>

Terza pagina di destinazione:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
Pagina di destinazione
</title>
</head>
<body>
Sei troppo figo
</body>
</html>

8
Stesso risultato possiamo ottenerlo inserendo tutto il codice dentro una pagina
in questo modo:

<?php
$nome ='giuseppe';
$pass ='licciardi';
$user=$_POST['nome'];
$password=$_POST['cognome'];

if (($nome==$user)and($pass==$password)){
header ("location: http://192.168.1.92/licciardi/pagina2.php");
}
else {
if ($user==''){
$msg1 = 'Inserire Username';
}
else if (!($user==$nome)){
$msg1= 'Username errato';
}
if ($password==''){
$msg2= 'Inserire Password';
}
else if (!($password==$pass)){
$msg2= 'Password errata';
}
}
?>

<html>
<head>
<title>
Pagina che contiene il FORM
</title>
</head>
<body>
<form action=" " method="post">

<input type="text" name="nome" id="campopass" />


<?php print $msg1; ?>
<br />
<input type="text" name="cognome" id="campopass"
/>
<?php print $msg2; ?>
<br />
<input type="submit" id="invia" name="invia"
value="spedisci" />
</form>
</body>
</html>

9
Gli Array

Gli array sono contenitori di dati che possono al contrario delle


variabili contenere più elementi;

$var = array( ); In questo caso è vuoto;

$colore1 = ‘giallo’;
$colore2 = ‘verde’;
$colore3 = ‘blu’;
0 1 2 <!—Indice-->
$colori = array($colore1,$colore2,$colore3);

Nel caso in cui vogliamo stampare solo il primo elemento


dell’Array dobbiamo sapere che gli elementi vengono sistemati dal
numero 0 all N valore contenuto.

Esempio1:

print $colori[0];

L’indice identifica la posizione degli elementi all’interno


dell’Array e se non l’assegnamo noi viene attribuita
automaticamente da 0 a N elementi. L’indice di default è numerico,
ma noi possiamo attribuire anche un indice testuale.

Se voglio stampare in ordine inverso il codice sarà:

print $colori[2].$colori[1].$colori[0];

Esempio2:

$colori=array(primo=>$colore1,secondo=>$colore2);

print $colori[‘secondo’];

In questo caso abbiamo assegnato un indice “primo” e un indice


“secondo”.

Esempio3:
primo 0 <!—Indice-->
$colori=array(primo=>$colore1,$colore2);

print $colori[‘primo’]; <!—in questo caso stamperà il colore1-->

Se volessimo aggiungere un elemento ad un array il codice sarà

$colori[]=$colore3; \\In questo caso non assegno un indice


<!—In questo modo assegniamo un nuovo elemento all’array $colori-->

10
$colori[‘CARNE’]=$colore3; \\In questo caso indico un indice
<!—Anche In questo modo assegniamo un nuovo elemento all’array $colori-->

Esercizio 1
Se volessimo creare un form che all’inserimento dei cognomi ci
restituisce i nomi il codice sarà:

<?php
$allievi=array
("licciardi"=>"giuseppe","ferrante"=>"paolo","amato"=>"antonin
o","dicristofolo"=>"marco","caliri"=>"dario","cin&agrave;"=>"a
nthony","mastellone"=>"marcello","rizzitello"=>"alessandro","v
etri"=>"alessandra","mantero"=>"carlos
ariel","costa"=>"francesco","mercurio"=>"valentina","sapienza"
=>"sergio","gennaro"=>"letizia roberta","bray"=>"giovanni
luca","cavaretta"=>"maria","scelfo"=>"pietro","cardinale"=>"ro
salia");
$password=$_POST['cognome'];
?>
<html>
<head>
</head>
<body>
<form action=" " method="post">
<input type="text" name="cognome" id="camponome" />
<input type="submit" name="invia" />
<?php
print $allievi[$password];
?>
</form>
</body>
</html>

Gli Array possiamo definirli in diverso modo:

$mioarray= array(‘pane,’pasta’,carne’); in questo modo si aggiungerà come indice


di dafoult all’ array l’indice 0 1 2

$mioarray=array(‘primo=>’pasta’,secondo=>’carne’,’terzo’=>’pane’);
in questo modo si aggiungerà come indice i valori che noi gli attribuiamo quindi: primo, secondo e
terzo.

$var=’pane’;
$var=’pasta’;

$mioarray=array($indice=>$var1);

$mioarray[]=”pane”; in questo modo si aggiungerà al mio array con indice 0


$mioarray[]=”pasta”; in questo modo si aggiungerà al mio array con indice 1
$mioarray[‘ciccio’]=”carne”; in questo modo si aggiungerà al mio array con indice
ciccio

Ricorda:

11
Quando inviamo dei dati attraverso un form, $_POST[‘’] sarà un
array:

Esempio:

<form action=" " method="post">


<input type="text" name="cognome" id="campopass" />
<input type="text" name="nome" id="camponome"
<input type="submit" name="invia" />
</form>

In questo modo si creerà un array $_POST[‘cognome’,‘nome’];

$var=$_POST[‘cognome’];
$var2=$_POST[‘nome’];

Se utilizziamo il method=“get” l’array creata sarà


$_GET[‘cognome’,’nome’];

<form action=" " method="get">


<input type="text" name="cognome" id="campopass" />
<input type="text" name="nome" id="camponome"
<input type="submit" name="invia" />
</form>

$var=$_GET[‘nome’];
$var2=$_GET[‘cognome’];

Se volessimo inviare dei dati senza l’ausilio dei form, possiamo


utilizzare dei link che contengono dei dati.

Esempio:

<a href=”pagina2.php?nome=Giuseppe&cognome=licciardi”>invia
dati</a>

Per inserire I commenti su una riga bisogna inserire:

//Commento

Se il commento deve essere inserito su più righe inserire:

/*
Commenti
Commenti
Commenti
*/

12
Per convertire il testo da minuscolo a maiuscolo;
eliminare le vocali di una parola con il metodo GET

Creare una pagina dal nome nonsoloconsonanti.php

<?php
$parola=$_GET['word'];
$vocali=array('a','e','i','o','u');
$senza_vocali=str_replace($vocali,'',$parola);
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<form action=" " method="GET">
<table id="tabella">
<tr>
<td>
Inserisci parola:<br />
</td>
<td>
<input type="text" name="word" id="campopass" />
</td>
</tr>
<tr>
<td>
Parole senza vocali:
</td>
<td>
<input type="text" name="no_vocali" value="<?php
print $senza_vocali;?>" /><br />
</td>
</tr>
<tr>
<td>
Parole in maiuscolo:
</td>
<td>
<input type="text" name="maiuscolo" value="<?php
print strtoupper($parola);?>" /><br />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="invia" />
<a
href="restituiscisoloconsonanti.php"><input type="Button" name="Ripristina"
value="Ripristina" /></a>
<br />
</td>
</tr>
</table>
</form>
</body>
</html>

13
14
Creare un foglio di stile dal nome style.css

#tabella{
border: 10px ridge #000000;
padding: 5px;
margin: auto;
}
a{
text-decoration: none;
}

Se volessimo stampare un Array il codice sarà:

<?php
$mioarray=array(‘primo’,’secondo’,’terzo’);
Print_r ($mioarray); \\stampa il mio array
?>

15
Il ciclio Foreach
Per ogni metti
Foreach($mioarray as $val)
{
Print $val.”<br />”; \\Ad ogni valore dell’array sarà aggiunto il <br />
}

Esempio:

<?php
$mioarray=array('primo','secondo','terzo');
?>
<html>
<head>
<style>
.bordi{
border: 1px solid red;
margin: auto;
text-align: center;
}
p{
color: red;
margin: auto;
text-align: center;
font-weight: bold;
font-size: 30px;
}
</style>
</head>
<body>
<p>Ciclo ForEach di un Array</p>
<br />
<table class="bordi">
<?php
foreach($mioarray as $val)
{
?>
<tr>
<td class="bordi">
<?php
print $val;
?>
</td>
</tr>
<?php
}
?>
</table>
</body>
</html>

16
Il risultato sarà il seguente:

Se volessimo inserire un valore e la chiave (indice) all’interno


di un array il codice sarà:

<?php
foreach($mioarray as $chiave=>$val)
{
{
?>

17
Esempio 2:

<?php
$mioarray=array('primo','secondo','terzo','quarto');
?>
<html>
<head>
<style>
.bordi{
border: 1px solid red;
margin: auto;
text-align: center;
background-color: #aacdcc; /*per inserire il colore di sfondo della tabella*/
}
p{
color: red;
margin: auto;
text-align: center;
font-weight: bold;
font-size: 30px;
}
</style>
</head>
<body>
<p>Ciclo ForEach di un Array dove Visualizziamo "Chiave" e "Valore"</p>
<br />
<table class="bordi">
<?php
foreach($mioarray as $chiave=>$val)
{
?>
<tr>
<td class="bordi">
<?php
print $chiave;
?>
</td>
<td class="bordi">
<?php
print $val;
?>
</td>
</tr>
<?php
}
?>
</table>
</body>
</html>

18
Posso impostare inoltre un indice che anziché iniziare di default
da 0 lo facciamo partire dal numero “1”.

<?php
$mioarray=array('1'=>'primo','secondo','terzo','quarto');
?>

Esempio di array di array:

primo modo:

$array1=array(‘primo’,’pasta’,’mare’);
$array2=array(‘secondo’,’frutta’,’montagna’);
$allievi=array($array,$array2);

secondo modo:

$mioallievi=array();
$allievi[Licciardi]=array('giuseppe','20.06.84','Bagheria');
$allievi[Ferrante]=array('paolo','23.05.86','Palermo');

19
Esercizio:

<?php
$mioallievi=array();
$mioallievi[Licciardi]=array('giuseppe','20.06.84','Bagheria');
$mioallievi[Ferrante]=array('paolo','23.05.86','Palermo');
?>
<html>
<head>
<style>
.bordi{
border: 1px solid red;
margin: auto;
text-align: center;
background-color: #aacdcc; /*per inserire il colore di sfondo della
tabella*/
}
p{
color: red;
margin: auto;
text-align: center;
font-weight: bold;
font-size: 30px;
}
td{
border: 1px solid red;
}
</style>
</head>
<body>
<p>Ciclo ForEach di un Array di Array</p>
<br />
<table class="bordi">
<?php
foreach($mioallievi as $allievi)
{
print "<tr>";
foreach ($allievi as $colonna)
{
print "<td>$colonna</td>";
}
print "</tr>";
}
?>
</table>
</body>
</html>

20
Il risultato sarà:

Spiegazione:

$a=array(1,2,3); primo vaso


$b=array(1,2,3); secondo vaso
$contenitore=($a,$b); contenitore dei vasi

foreach($contenitore as $vasi)
/*in questo modo dico per ogni elemento presente dentro il contenitore assegna il nome $vasi*/
{
foreach($vasi as $palla)
/*in questo modo dico che per ogni elemento presente dentro i vasi assegna il nome $palla*/
{
Print $palla;
}
}

In questo modo riesco a stampare a video gli elementi dell’Array


contenitore. Poiché non posso stampare direttamente l’Array
contenitore, assegno una variabile dal nome $vasi che include
l’Array $a e $b e poi a sua volta assegnamo alla variabile $vasi
un altro nome per identificare gli elementi del vaso che si chiama
$palla.

Esempio:

<?php
$italiano=array('sicilia','italia','palermo');
$spagnolo=array('sicily','italy','palermo');
$lingue=array($spagnolo,$italiano);
?>

21
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="tabella">
<?php
foreach($lingue as $riga)
{
print "<tr>";
foreach($riga as $cella)
{
print "<td>$cella</td>";
}
print "</tr>";
}
?>
</table>
</body>
</html>

Il risultato sarà:

22
Stampare le chiavi di un array di un array

<?php
$italiano=array('cane','macchina','fiori');
$spagnolo=array('perro','carro','flores');
$lingue=array(italiano=>$italiano,spagnolo=>$spagnolo); //Assegno le chiavi ai
due Array $italiano e $spagnolo con il nome Italiano e Spagnolo
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="tabella">
<tr>
<td>
<p>TITOLO</p>
</td></tr>
<?php
foreach($lingue as $key=>$riga) /*In questo modo richiamo la chiave
dei sotto Array dell'Array $lingue riassegnando il valore $key
inoltre ai sotto array assegno il valore $riga*/
{
print "<tr><td>$key</td></tr><ul><tr><td>"; //In questo modo
stampo le chiavi dei sotto Array $italiano e $spagnolo
foreach($riga as $cella) //In questo modo
riassegno una variabile ai sotto array $Spagnolo e $italiano dal nome $cella
{
print "<li>$cella</li>"; //In questo modo stampo
gli elementi dei sotto Array $Spagnolo e $Italiano
}
print "</td></tr></ul>";
}
?>
</table>
</body>
</html>

RISULTATO:

23
Costrutto while

Per incrementare le variabili il codice sarà:

PRIMO MODO
$a=1;
$a=$a+1;

SECONDO MODO
$a=1;
$a++;

il risultato in entrambi i casi sarà che $a verrà incrementato di


una unità.

Per decrementare le variabili il codice sarà:

PRIMO MODO
$a=6;
$a=$a-1;

SECONDO MODO
$a=6;
$a--;

il risultato in entrambi i casi sarà che $a verrà decrementato di


una unità.

Se volessi stampare 10 volte la parla ciao il codice sarà:

<?php
$a=0;
while($a<10) //fino a quando $a è minore di 10
{
$a++; //Incrementa $a di una unità
print $a."ciao<br />";

}
?>

Il risultato sarà:

24
Se volessi decrementare e stampare la parola ciao il codice sarà:

<?php
$a=10;
while($a>0) //fino a quando $a è maggiore di 0
{
print $a."ciao<br />";
$a--; //Decrementa $a di una unità
}
?>

Il risultato sarà:

Esempio con tabella:

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="tabella">
<tr>
<td colspan="2" class="bordosinistro spazio_tracelle">Pari</td>
<td colspan="2" class="bordosinistro spazio_tracelle">Dispari</td>
</tr>
<?php
$a=10;
while($a>0) //fino a quando $a è maggiore di 0
{
if ($a%2==0)
{
?>
<?php

25
print "<tr><td class=\"bordosinistro\">$a.</td><td
class=\"bordosinistro\">ciao</td>";
}
else
{
print "<td class=\"bordosinistro\">$a.</td><td
class=\"bordosinistro\">ciao</td></tr>";

}
$a--; //Decrementa $a di una unità
}
?>
</table>
</body>
</html>

Il risultato sarà:

26
Esempio al contrario:

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="tabella">
<tr>
<td colspan="2" class="bordosinistro spazio_tracelle">Sinistro</td>
<td colspan="2" class="bordosinistro spazio_tracelle">Destro</td>
</tr>
<?php
$a=0;
while($a<10) //fino a quando $a è minore di 10
{
$a++; //Incrementa $a di una unità
if ($a%2==1)
{
?>
<?php
print "<tr><td class=\"bordosinistro\">$a.</td><td
class=\"bordosinistro\">ciao</td>";
}
else
{
print "<td class=\"bordosinistro\">$a.</td><td
class=\"bordosinistro\">ciao</td></tr>";
}
}
?>
</table>
</body>
</html>

Il risultato sarà:

27
Esempio di While dentro un altro While:

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="tabella">
<?php
$a=0;
$b=0;
while($a<10) //fino a quando $a è minore di 10
{
$a++; //Incrementa $a di una unità
print "<tr>";
$b=0;
while($b<10)
{
$b++; //Incrementa $a di una unità
print "<td>$b</td>";
}
print "</tr>";
}
?>
</table>
</body>
</html>

Il risultato sarà:

28
Per stampare un Array il codice sarà:

$mioarray=array[];
$mio-array[]=”ciao”;
$mio-array[7]=”5”;
$mio-array[]=TRUE;

print_r($mio-array); //il risultato sarà array(0=>ciao, 7=>5, 8=>true);

Una array può contenere valori numerici, stringhe, valori booleani e array.

Esempio di incremento:

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="tabella">
<?php
$a=0;
while($a<=9) //fino a quando $a è minore uguale a 9
{
print "<tr>";
$b=1;

while($b<=10)
{
print "<td>$b+($a*10)</td>";
$b++; //Incrementa $a di una unità
}
print "</tr>";
$a++; //Incrementa $a di una unità
}
?>
</table>
</body>
</html>

Il risultato sarà:

29
Esempio si somma automatica:

<?php
$mioarray=array(0=>5, 3, 9=>15);
$somma=0;
foreach($mioarray as $chiave=>$valore)
{
print "sto sommando l'elemento con chiave $chiave";
print "<br />";
$somma=$somma+$valore;
}
print $somma;
?>

Il risultato sarà:

<?php
$mioarray1=array(0=>5, 3, 9=>15);
$mioarray2=array(saluto=>'ciao','fiore'=>'rosa', 17)
$contenitore=array($mioarray1,mioarray2);
print_r $contenitore;
//il risultato in stampa sarà: array(0=>array(0=>5,9=>15),1=>array(saluto=>ciao,fiore=>rosa,0=>17)
?>

Esempio di foreach annidati:

<?php
$mioarray1=array(0=>5, 3, 9=>15);
$mioarray2=array('saluto'=>'ciao','fiore'=>'rosa', 17);
$contenitore=array($mioarray1,$mioarray2);

foreach($contenitore as $key=>$cont)
{
print "Stampo l'elemeto $key";
print "<br />";
foreach($cont as $val)
{
print $val."<br />";
}
}
?>

30
Stampa di un array di array dove all’interno esiste una variabile
con ciclo foreach

<?php
$mioarray1=array(0=>5, 3, 9=>15);
$mioarray2=array('saluto'=>'ciao','fiore'=>'rosa', 17);
$var=7;
$contenitore=array($mioarray1,$mioarray2,$var);
foreach($contenitore as $key=>$cont)
{ print "__________<br />";
if (is_array ($cont)) //controllami se è un array
{
foreach($cont as $val)
{
print $val."<br />";
}
}
else
{
print $cont;
}
}
?>

Il risultato sarà:

31
Esercitazione con foreach: somma e media dei valori contenuti dentro una tabella.

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="tabella" class="bordosinistro">
<tr>
<td class="bordosinistro">
Chiavi
</td>
<td class="bordosinistro">
Valori
</td>
</tr>
<?php
$cont=0;
$mioarray=array(5, 4=>71, 7=>63, 15, 27=>91, 115, 3=>7);
foreach($mioarray as $key=>$valore)
{ print "<tr><td class=\"bordosinistro\">$key</td>";
print "<td class=\"bordosinistro\">$valore</td></tr>";
$somma1=$key+$somma1;
$somma2=$valore+$somma2;
$cont++;
$media1=($somma1/$cont);
$media2=($somma2/$cont);
}
print "<tr><td class=\"bordosinistro\">Somma delle chiavi</td>";
print "<td class=\"bordosinistro\">Somma dei valori</td></tr>";
print "<tr><td class=\"bordosinistro\">$somma1</td>";
print "<td class=\"bordosinistro\">$somma2</td></tr>";
print "<tr><td class=\"bordosinistro\">Media delle chiavi</td>";
print "<td class=\"bordosinistro\">Media dei valori</td></tr>";
print "<tr><td class=\"bordosinistro\">";
print round($media1,2); //funzione che mi stabilisce quanto cifre decimali deve avere
il mio valore
print "</td><td class=\"bordosinistro\">";
print round($media2,2);
print "</td></tr>";
?>
</table>
</body>
</html>

Il risultato sarà:

32
Esempio di invio dati con FORM e cambio style (size, color) del valore

<html>
<head>
</head>
<body>
<form action="" method="post">
<input type="text" name="var">
<input type="submit">
</form>
<?php
$var = $_POST['var'];
$colori = array('yellow', 'green', 'red', 'blue');
$size = 10;
$key = 0;
if ($var != '')
{
while ($size <= 200)
{
if ($key == 4)
{
$key = 0;
}
?>
<span style="font-size: <?php print $size?>px; color:<?php print
$colori[$key];?>"><?php print $var;?><br></span>
<?php
$key++;
$size=$size+10;
}
}
?>
</body>
</html>

Il risultato sarà:

33
Struttura di controllo Switch

$a=$_POST[‘variabile’];
switch $a \\controllami la variabile $a
{
Case 1: \\caso 1 (condizione 1)
- - - - -
- - - - -
- - - - -
break; \\arresta il processo
Case 2:
- - - - -
- - - - -
- - - - -
break;
Case 3:
- - - - -
- - - - -
- - - - -
break;
default:
- - - - -
- - - - -
- - - - -
break;
}

34
Funzioni include e require

include (“altra pagina.php”);


require (“altra pagina.php”);

La funzione include serve per includere una pagina dentro


un'altra.
Anche require ha la stessa funzionalità, la differenza è che
include nel caso in cui non trova l’altra pagina da includere da
un errore “warning”, ma il processo non si blocca. Viceversa in
questo caso require blocca il processo restituendo un errore
grave.

Esempio:
Avendo una pagina struttura, possiamo cambiare il contenuto con la
funzione require. Con la funzione Switch stabiliamo tutte i
contenuti di ogni pagina con “case”.
Nel nostro esempio il file è denominato index.php
I file che contengono i contenuti sono:
- elenco_moduli.php
- la_sede.php
- elenco_allievi.php
- registrazione.php
- home.php

<?php
$pagina=$_GET['page'];
switch($pagina)
{
case 'moduli':
$var='elenco_moduli.php';
$titolo='I Moduli';
break;
case 'sede':
$var='la_sede.php';
$titolo='La Sede';
break;
case 'allievi':
$var='gli_allievi/elenco_allievi.php';
$titolo='Elenco Allievi';
break;
case 'registrazione':
$var='registrazione.php';
$titolo='La Sede';
break;
default:
$var='home.php';
$titolo='Home Page';
break;
}
?>

35
IL file index.php conterrà codice HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>
<?php print $titolo;?> <!-- In questo modo il titolo è variabile -->
</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
________________________________________________________________________________
Per passare le variabili con il method get utilizziamo dei link:
in questo caso “page” è la variabile

<div id="sinistro">
<ul class="linkhover">
<li> <a href="index.php?page=moduli">Moduli</a></li>
<li> <a href="index.php?page=allievi">Gli Allievi</a></li>
<li> <a href="foto.html">Photogallery</a></li>
<li> <a href="index.php?page=sede">La Sede</a></li>
</ul>
</div>

________________________________________________________________________________
In questo modo richiamiamo i contenuti attraverso la variabile
$var

<div id="centro">
<?php
require($var);
?>
</div>
________________________________________________________________________________

36
Il ciclo for

For(inizio; fino a quando; incremento)

For($a=0; $a<10; $a++)


{
Print $a;
}

37