2. Php il linguaggio
L’ HTML definisce l'aspetto della pagina e non è un linguaggio di
programmazione. Invece il PHP è un linguaggio di
programmazione, che produce delle pagine dinamiche o
interattive il cui contenuto può variare a seconda delle scelte
dell'utente.
Il codice di un linguaggio di programmazione all'interno di una
pagina web viene detto script.
Il codice PHP può essere inserito dentro il codice HTML tra i tag:
<?php
…….
?>
Un programma PHP si edita come una qualunque pagina HTML
con un editor testuale, ma deve essere salvato con estensione
.php
3. Il codice PHP deve essere interpretato ed eseguito da un apposito
modulo PHP che risiede nel server, questo significa che se si scrive
un programma PHP, se ne può vedere l'esecuzione solo in rete e
non sul computer locale, a meno che non abbia si abbia installato
sia il modulo PHP, sia il server web APACHE che trasforma in un
server il nostro PC.
XAMPP è uno dei pacchetti
software più utilizzati per
installare e configurare il
modulo Php e il server
Apache.
XAMPP fornisce anche un
database: MySQL
4. Per rendere visibili le pagine .php bisogna salvarle nella cartella
“Prova” nel percorso "c:xampphtdocsProva“
5. per visualizzare le nostre pagine .php, dopo averle salvate,
dobbiamo accedere all’indirizzo http://localhost/prova/
6. Le variabili
l nome di una variabile deve essere preceduto dal
carattere $, può contenere lettere, cifre e il
carattere "_" (underscore), ma non può iniziare con
una cifra.
sempi:
$a $pippo $a12 $contatore $mario_rossi
Tipi di variabili
Il tipo di variabile dipende dal loro contenuto. Le variabili semplici possono
essere:
di tipo numerico se contengono valori numerici
di tipo stringa se contengono stringhe di caratteri
di tipo boolean se contengono solo i valori TRUE/FALSE
7. Gli Operatori
Per operare sulle variabili si usano operatori aritmetici, relazionali o
logici.
$a= =$b
$a! =$b
8. Gli array
Supponiamo di dover realizzare un sito che mostra le recensioni di
alcuni film. Ogni film avrà un titolo, la data di produzione e il nome del
regista.
Se per ogni informazione dovessimo usare una variabile, il nostro
codice inizierebbe a complicarsi notevolmente. Ad esempio, dovremo
avere le variabili $titolo_film_1, $titolo_film_2, $titolo_film_3, ecc,
$regista_film_1, $regista_film_2, ecc.
La soluzione a questo problema è quella di mettere tutte le
informazioni di ciascun film in un unico contenitore: $film_1, $film_2,
$film_3, $film_4....
Una array in PHP è una specie di "super-variabile" contenente una
pluralità di valori invece di uno solo.
9. Gli array
Gli array possono avere un contatore che parte da zero oppure
con una chiave univoca per ogni dato inserito.
Esempio dell’array $film_1[]
con contatore
Gli elementi dell’array saranno:
$film_1[0] = 'Via col Vento’;
$film_1[1] = 1939;
$film_1[2] = 'Victor Fleming‘;
<?php
$film_1 = array('Via col Vento',1939,'Victor Fleming');
echo 'Titolo film: ' , $film_1[0];
echo '<br>';
echo 'Anno: ' , $film_1[1];
echo '<br>';
echo 'Regista: ' , $film_1[2];
?>
Esempio dell’array $film_1[]
con chiave
Gli elementi dell’array saranno:
$film_1[‘titolo’] = 'Via col Vento’;
$film_1[‘anno’] = 1939;
$film_1[‘regista’] = 'Victor Fleming‘;
<?php
$film_1 = array('titolo' => 'Via col Vento', 'anno' => 1939,
'regista' => 'Victor Fleming');
echo 'Titolo film: ' , $film_1['titolo'];
echo '<br>';
echo 'Anno: ' , $film_1['anno'];
echo '<br>';
echo 'Regista: ' , $film_1['regista'];
?>
12. Form e metodi GET e POST
I form sono dei moduli che permettono di inviare dati da una pagina web.
Con PHP possiamo elaborare e memorizzare tali dati in un nuovo file
(nuova pagina web).
Ricordiamo che il tag di un form è formato dagli attributi ‘action’ e ‘method’:
<form action =“esempio.php" method="post">
action specifica il file che deve ricevere i dati e method indica il modo in cui
essi gli vengono passati. L’attributo ‘method’ ammette due possibili valori:
‘get’ e ‘post’.
Nel metodo ‘get’ i dati sono spediti tramite URL e quindi sono visibili
nell’indirizzo del browser, quindi questo metodo non è adatto per inviare
password o altre informazioni riservate, inoltre i dati inviati sono vincolati
alla lunghezza massima dell’URL (256 caratteri) . $_GET[ ] è un array che
contiene tutte le variabili ricevute da PHP con il metodo GET .
Nel metodo ‘post’ i dati spediti non sono visibili sul browser, inoltre non ci
sono limiti sulla quantità di dati inviata. $_POST[ ] è un array che contiene
tutte le variabili ricevute da PHP con il metodo POST.
VEDIAMO ALCUNI ESEMPI … iniziamo con il metodo GET
13. <html>
<head>
<title> Passaggio del nome! </title>
</head>
<body bgcolor=yellow>
<form name="form1" method="get"
action="prova.php">
<p>Inserisci il tuo nome: <br>
<input type="text" name="nome"></p>
<p>Inserisci il tuo cognome: <br>
<input type="text" name="cognome"> </p>
<input type="submit" value="Invia">
</form>
</body>
</html>
<html>
<head><title> Pagina di destinazione</title>
</head>
<body> Ciao, <br>
<?php
echo 'Il tuo nome è: ' , $_GET['nome'];
echo('<br>');
echo 'Il tuo Cognome è: ' , $_GET['cognome'];
?> <p>
<a href="inserisci.html">Torna indietro</a></p>
</body> </html>
prova.php
inserisci.html
Con il metodo GET i
dati inviati sono
visibili nell’URL
14. VEDIAMO ORA UN ESEMPIO CON IL METODO POST
Supponiamo di voler inserire 2 numeri da un form e di voler calcolare : somma,
differenza, prodotto e rapporto. Bisogna costruire 2 file: il primo è un file
HTML (calcola.html) in cui è contenuto il form di immissione dati, il secondo è
il file PHP (calcola.php) che elabora i dati di ingresso.
<body bgcolor=lightblue>
<form action ="calcola.php"
method="post">
Inserisci due numeri:
<input type=text name="a">
<input type=text name="b">
<input type="submit">
</form>
</body>
<body>
<?php
$a=$_POST[‘a’];
$b=$_POST[‘b’];
$somma=$a + $b;
$differenza= $a - $b;
$prodotto = $a *$b;
$rapporto = $a/$b;
echo" <p>Hai immesso i numeri: $a e $b</p>
<p>La somma dei due numeri è: $somma</p>
<p>La differenza è: $differenza</p>
<p>Il prodotto è: $prodotto</p>
<p>Il rapporto è: $rapporto</p> "
?>
<p><a href="calcola.html">Torna indietro</a></p>
</body>
calcola.php
calcola.html
16. La selezione IF
<?php
if ($_POST['meteo']=="pioggia"):
{echo 'RESTO A CASA';}
else:
{echo'VADO AL PARCO';}
endif;
?>
<body bgcolor=lightblue>
<form action ="meteo.php"
method="post">
Situazione meteo (pioggia o sole?):
<input type="text" name="meteo">
<input type="submit">
</form>
</body>
IF
ELSE
meteo.html meteo.php
17. La selezione if, elseif, else
<?php
if ($_POST['meteo']=="pioggia"):
{echo 'RESTO A CASA';}
elseif ($_POST[‘meteo'] == “sole”):
{echo'VADO AL PARCO';}
else:
{echo‘PAROLA ERRATA!';}
endif;
?>
<body bgcolor=lightblue>
<form action ="meteo.php"
method="post">
Situazione meteo (pioggia o sole?):
<input type="text" name="meteo">
<input type="submit">
</form>
</body>
meteo.html
meteo.php
ELSEELSE
ELSE
18. La selezione if, elseif, else
<?php
if ($_POST['voto'] < 4):
{echo 'BOCCIATO';}
elseif ($_POST['voto'] >= 6):
{echo'BRAVO! SEI STATO PROMOSSO';}
else:
{echo 'DEVI FARE IL RECUPERO';}
endif;
?>
<body bgcolor=yellow>
<form action ="voto.php"
method="post">
La tua media scolastica è:
<input type="text" name="voto">
<input type="submit">
</form>
</body>
SE il voto è < 4 BOCCIATO
SE INVECE il voto >=6 PROMOSSO
ALTRIMENTI (4>= voto <6) RECUPERO
voto.html
voto.php
19. La selezione multipla
switch
<?php
switch ($_POST['voto']) {
case 10:
echo 'PROMOSSO CON BORSA DI STUDIO';
break;
case ($_POST['voto']<4):
echo 'BOCCIATO';
break;
case ($_POST['voto']>=6):
echo 'PROMOSSO';
break;
default:
echo 'RECUPERO';}
?>
<body bgcolor=yellow>
<form action ="voto.php"
method="post">
La tua media scolastica è:
<input type="text" name="voto">
<input type="submit">
</form>
</body>
voto.html
voto.php
SE il voto è 10 PROMOSSO CON BORSA DI STUDIO
SE il voto è < 4 BOCCIATO
SE il voto >=6 PROMOSSO
ALTRIMENTI (4>= voto <6) RECUPERO
20. ESEMPIO CON LA SELEZIONE IF
Supponiamo di gestire un sito web con contenuti protetti da una password e di
permettere l’accesso solo ad utenti autorizzati, nel caso in cui un utente sbaglia
a digitare la password di accesso gli viene data la possibilità di riprovare il
login
<body bgcolor=azure>
<FORM ACTION="main.php"
METHOD="post">
<p>Inserisci il tuo nome: <br>
<input type="text"
name="nome"></p>
<p>Inserisci il tuo cognome:
<br>
<input type="text"
name="cognome"> </p>
<p>Per accedere all'area
riservata inserisci la password:
<br>
<INPUT TYPE="password"
NAME="pwd"><BR>
<INPUT TYPE="submit"
VALUE="ENTRA">
</FORM> </body>
<?php
if ($_POST['pwd']=="pass123"):
{echo ('<center><H1>Benvenuto nel sito
privato</H1></center>');
echo 'Ciao '.$_POST['nome'] .' '. $_POST['cognome'].', hai
inserito la password corretta!';}
else:
{echo ('<center><H1>La password è errata!</H1></center>');
echo ('<FORM ACTION="main.php" METHOD="post">')
echo 'Inserisci il tuo nome:';
echo ('<br><input type="text" name="nome"><br>');
echo 'Inserisci il tuo cognome:';
echo ('<br><input type="text" name="cognome"><br>');
echo 'Inserisci di nuovo la password:';
echo ('<br><INPUT TYPE="password" NAME="pwd"><br>');
echo ('<br><INPUT TYPE="submit" VALUE="ENTRA">');
echo ('</FORM>'); }
endif;
?>
password.html main.php