Ma allora qual è la differenza tra $_GET e $_POST?
$_POST è più sicuro e viene utilizzato per ottenere dei dati da un form.
$_GET viene utilizzato per gestire dei dati tramite "url".
Ad esempio.
esempio.php
- Codice: Seleziona tutto
<?php
echo "Ciao";
echo $_GET['nome'];
?>
Se dal browser raggiungiamo la pagina esempio.php in questo modo:
esempio.php?nome=Matteo
il messaggio che verrà mostrato sarà "Ciao Matteo";
se la raggiungiamo in quest'altro modo:
esempio.php?nome=Giovanni
il messaggio che verrà mostrato sarà "Ciao Giovanni";
e così via.
Un fondamentale componente da utilizzare principale per i $_GET ( ma non solo ) è switch
Scrivere:
pagina.php
- Codice: Seleziona tutto
<?php
switch($_GET['stato']){
case "usa":
echo "Washigton";
break;
case "italia":
echo "Roma";
break;
case "francia":
echo "Parigi";
break;
default:
echo "Stato non definito!";
break;
}
?>
equivale a scrivere questo:
- Codice: Seleziona tutto
<?php
if ($_GET['stato'] == "usa"){
echo "Washigton";
} elseif ($_GET['stato'] == "italia"){
echo "Roma";
} elseif ($_GET['stato'] == "francia"){
echo "Parigi";
} else {
echo "Stato non definito!";
}
?>
Scrivendo i due codici sovrastanti il risultato sarà lo stesso identico!!
Dunque, possiamo affermare che switch può sostituire il controllo if.
Lo script che abbiamo creato sopra fa questo:
Se raggiungiamo la pagina esempio.php dal nostro browser in questo modo:
pagina.php?stato=italia
ci apparirà la scritta "Roma",
raggiungendo in quest'altro modo:
pagina.php?stato=francia
ci apparirà la scritta "Parigi"
e cosi' via.
Invece, raggiungendo la pagina in questo modo:
pagina.php?stato=
oppure cosi':
pagina.php
(Cioè con il $_GET "stato" vuoto)
ci apparirà la scritta:
"Stato non definito!";
Gli Switch sono usatissimi per creare quell'effetto che agli utenti(e ai webmaster) piace tanto,
cioè un'intero sito in una sola pagina
Ad esempio:
index.php
- Codice: Seleziona tutto
<?php
echo "<a href='index.php'>Home</a> | <a href='index.php?page=contatti'>Contatti</a> | <a href="index.php?page=bio'>Biografia</a> | <a href='index.php?page=links'>Links</a>";
echo "<p></p>";
switch($_GET['page']){
case "bio":
echo "Contenuto della pagina biografia";
break;
case "links":
echo "contenuto della pagina links";
break;
case "contatti":
?>
Contenuto della pagina contatti(IN HTML, chiudendo i tags php qui posso usare normale html!!!)
<?php
break;
default:
echo "Contenuto della home page, cioè di quando il get page è vuoto!";
break;
}
?>
Nella prossima lezione parleremo di altre variabili predefinite del php.
Posts totali: 432 |
Topics totali: 149 
Home
Forum
News
Downloads
Temi
Webmaster



