Come creare un form PHP per inviare e ricevare dati

Per questo articolo sono disponibili Demo Download Script

Oggi vediamo come creare in modo molto semplice un piccolo form svilippato in PHP per l’invio e la ricezione di dati.

Con PHP inutile dire che si possono sviluppare moltissime applicazione web based, il limite è solo la fantasia… quanto amo PHP 🙂

Se volete testare in locale il funzionamento vi serve un motore PHP/MySQL, qui ho scritto come installare e configurare MAMP su Mac oppure se usate Windows potete leggere come installare Joomla in locale con XAMPP e tralasciare la parte dedicata a Joomla perchè l’installazione è la medesima, diversamente sarà necessario caricare i file in un server FTP con supporto PHP, di solito un server Linux; detto questo al lavoro!

Come creare un form PHP per l’invio di dati

In questo caso il form invierà : Nome, Età, Genere, Messaggio

Come metodo in questo caso utilizziamo POST.

Ecco il codice HTML da scrivere per la pagina index.php

Come creare un form PHPIn realtà la pagina index.php l’ho chiamata in questo modo solo per convenzione, potete utilizzare un qualunque altro nome purchè abbia estensione .php .

Come si può notare ogni campo input è formito del tag <name> che verrà utilizzato successivamente come variabile da passare al file che riceve i dati, ossia quello che ho chiamato ricevitore.php, il tag <value> viene invece utilizzato per valorizzare una select (è il comportamento medesimo del tag name).

L’utilizzo del metodo POST mi permette di non visualizzare i dati nella URL, che altrimenti sarebbero visibili e non criptati in questo caso.

Premendo il pulsante submit (che come valore riporterà “invia richiesta”) invierà i dati al file ricevitore, ossia la pagina ricevitore.php, andiamo quindi a creare la pagina.

Come creare una pagina PHP per la ricezione di dati di un form con delle variabili

Contenuto pagina ricevitore.php

Come creare una pagina PHP che riceve dati da un form

Analizziamo cosa fa questo codice PHP di preciso.

$var* = il dollaro indica sempre una variabile

$_POST[“*”] = indica il valore contenuto nel tag <name> del file precedente, ossia la pagina (index.php nel nostro caso) che è quella che invia i dati

if = implica una condizione

else = è proprio la mera traduzione inglese di “altrimenti”

echo = viene utilizzato per stampare a video qualcosa, può contenere codice HTML, CSS e ovviamente anche delle variabili come in questo caso

In questa pagina in sostanza stiamo raccogliendo i dati del form e li stiamo inserendo in delle variabili, vedi $var1, $var2, gli stiamo però dicendo che le variabile variano (perdonate il gioco di parole), per ovvi motivi, perchè non possiamo sapere cosa verrò scritto nei campi del form.

La condizione if verifica semplicemente se il sesso è un uomo o una donna, nel primo caso inserirà un articolo maschile, nel secondo caso invece metterà quello femminile.

Questo guida è molto semplice ed intuitiva ed è consigliata per chi è al primo approccio con PHP, avendo iniziato anche io così, posso dirvi che una volta capito come funzionano le variabili poi vi potete sbizzarrire allegramente per inserire dati in un database o creare anche un piccolo motore di ricerca.

2 commenti su “Come creare un form PHP per inviare e ricevare dati

  1. Salve articolo interessantissimo per chi come me e’ all primissime armi con php,posso chiedere come inserire il form in una pagina web e mi interesserebbe sapere come si fa a mandare il form su una mail,in modo che arrivi direttamente su una mail specifica,grazie anticipatamente

    • Buongiorno Angelo,

      questo form non può essere utilizzato per l’invio di email, quello che chiede verrà trattato in uno dei prossimi articoli. Spiegarlo in un commento sarebbe troppo lungo e poco chiaro. Se ha pazienza qualche giorno mi adopero per scriverne uno con le dovute spiegazioni ed esempi.

Commenta l'articolo

Bisogno di postare codice ? Usa un servizio gratuito come Codeshare altrimenti WordPress formatta male il codice!

Pin It on Pinterest

Condividi l'articolo. Grazie.

Vuoi essere aggiornato ?