Programmare in HTML per passare parametri ad una pagina web
Il web è un ambiente senza stato, o stateless, questo dovrebbe essere noto. Ma proprio per questo motivo, gli sviluppatori hanno trovato un sistema per passare parametri da una pagina all’altra, o meglio, da una chiamata all’altra. Se ti interessa capire come programmare in HTML per passare parametri ad una pagina web, leggi questa guida.
Molti utenti quando navigano, da una pagina all’altra, nel web non sanno cosa c’è realmente dietro ad una chiamata HTML. O meglio a come vengono filtrate le loro ricerche su Google e come viene richiamata una risorsa quando cliccano su un link. Quello che l’utente normalmente nota è che premendo un tasto le informazioni richieste vengono fornite. Beh, sarebbe utile capire alcuni meccanismi. Questo però è un compito che spetta agli sviluppatori. Sono loro che consentono agli utenti di poter navigare e selezionare contenuti mettendo a disposizione tecnologie sempre più affidabili e sofisticate.
Quello che si evince, navigando sul Internet e che, mentre alcune pagine vengon scelte a caso dal server, altre vengono selezionate in base a fattori come le parole chiave o parametri che l’utente seleziona o richiede direttamente al server. In quest’ultimo caso, l’operazione è del tutto involontaria e l’utente non è conoscenza del meccanismo che regola tale processo. Tutto quello che c’è dietro il passaggio dei parametri in HTML è una parte fondamentale del lavoro di ogni sviluppatore web professionista. Gli sviluppatori hanno messo a punto due metodi capaci di passare parametri al server per richiamare pagine web dinamiche e rivoluzionare il metodo per programmare in html.
Avrai senz’altro sentito parlare dei due metodi che gestiscono le chiamate e i passaggi di parametri tra pagine HTML. Il primo metodo è il metodo GET, il secondo è il metodo POST. Entrambi i metodi vengono elaborati e gestiti lato server. Questo significa che prenderemo in esame i due metodi attraverso un linguaggio di questo tipo, come ad esempio PHP.
Indice del Post...
1. La richiesta HTTP GET
Ad esempio un URL di questo tipo: www.phpcodewizard.it/script.php?id=123&pagina=3, sta passando dei parametri alla pagina script.php, che sono: id=123 e pagina=3, la richiesta in questione è di tipo GET. Quindi tutti i parametri sono visibili nella URL. Una volta eseguito script.php, con questi comandi puoi prelevare i valori dei due parametri id e pagina:
Volendo trasmettere i due parametri attraverso la compilazione di un form HTML, occorre procedere in questo modo:
<!DOCTYPE html>
<html>
<head>
<title>Passaggio di parametri tramite GET</title>
</head>
<body>
<form action="script.php" method="get">
<input type="text" name="id" placeholder="Inserisci l'id" /><br>
<input type="password" name="pagina" placeholder="Inserisci la pagina" /><br>
<input type="submit" value="Invia" />
</form>
</body>
</html>
I due parametri verranno prelevati all’interno di script.php con questi due comandi:
echo $_GET[‘id’];
echo $_GET[‘pagina’];
2. La richiesta HTTP POST
La stessa cosa vale per una chiamata di tipo POST con una piccola differenza cioè, i due parametri non saranno visibili nella URL durante la chiamata. Ma mentre con GET, possiamo spedire parametri inserendoli direttamente nell’indirizzo di chiamata di uno script. Con POST possiamo passare i parametri solo attraverso l’invocazione del metodo SUBMIT di un Form HTML. Di seguito un esempio di invocazione di submit e passaggio dei parametri, id e pagina con metodo POST.
<!DOCTYPE html>
<html>
<head>
<title>Passaggio di parametri tramite POST</title>
</head>
<body>
<form action="script.php" method="post">
<input type="text" name="id" placeholder="Inserisci l'id" /><br>
<input type="password" name="pagina" placeholder="Inserisci la pagina" /><br>
<input type="submit" value="Invia" />
</form>
</body>
</html>
I due parametri verranno prelevati all’interno di script.php con questi due comandi:
echo $_POST[‘id’];
echo $_POST[‘pagina’];
Leggi anche: Come sviluppare web app CodeLess con WordPress, PHP e MySQL
Il simbolo “=” presente nella URL, serve ad assegnare valori ai parametri. Per esempio, per passare il parametro “username” con il valore “admin” alla pagina checklogin.html, la URL, da specificare nella barra degli indirizzi del browser, deve avere la seguente sintassi:
checklogin.html?username=admin
Questi parametri, solitamente, vengono passati attraverso i moduli HTML, chiamati anche FORM, infatti con il seguente codice, da inserire in un’altra pagina html che chiameremo verificautente.html, chiederemo all’utente di indicare una username ed una password da passare al file checklogin.html che li processerà:
<html> <body> <form action='checklogin.html' method='get'> username: <input name='username' type='text'><br> password: <input name='password' type='password'><br> <input type='submit' value='login'> </form> </body> </html>
alla pressione del pulsante “login”, creato con il codice presente alla riga 6, verrà richiamata la pagina checklogin.html a cui verranno passati i parametri “username” e “password” con i relativi valori digitati dall’utente.
per cui la URL assumerà questa sintassi:
checklogin.html?username=admin&password=admin
Da notare che solo il primo parametro è preceduto dal simbolo” ?” mentre dal secondo in poi il parametro sarà preceduto dal simbolo “&”, i parametri saranno visibili nella barra degli indirizzi del browser, solo se method=’GET’, mentre con method=’POST’, i parametri verranno ugualmente passati a checklogin.html ma non visibili nella barra degli indirizzi del browser. I parametri così passati potranno essere prelevati in checklogin.html attraverso javascript.