In questo primo tutorial spiegheremo come si crea un semplice form e-mail in php. Nelle prossime schede provvederemo ad aggiungere altre considerazioni come ad esempio è possibile inviare un’e-mail in formato html, come inviare allegati e come proteggere i nostri form da un tipico attacco hacker come l’e-mail Injection. E’ possibile scaricare gli script in formato txt e copiarli e incollarli in un editor. Consigliamo però di seguire anche i vari tutorial per capire bene il funzionamento e non essere legati all’esempio specifico. N.B. Gli script in php funzionano solo su hosting che supportano appunto tale tecnologia. Non vengono visualizzati in locale come per l’html a meno che non sia stato installato un server Apache in locale.
Considerazione preliminare:
I form e-Mail sono molto utili in quanto permettono all’utente di un sito di non essere obbligato ad aprire il proprio client di posta (che sia Outlook, Firefox o un semplice Webmail) . Questo rende certamente più semplice il contatto tra chi “sta dietro” il sito internet e l’utente rispetto ad un semplice link di posta del tipo <a href=’mailto: ….’>..</a> che presuppone l’apertura di un client già impostato da parte dell’utente.
Il nostro form mail si compone di due parti (due files): il file info.htm che “posta” ovvero invia le informazioni ricevute a form.php.
Il file info.htm è la la pagina (oppure un insieme di campi da inserire dentro una pagina ) composta dai campi che dovranno essere compilati dall’utente.
Questo lo Script di info.htm:
<form action=”form.php” method=”post”> // in questa dicitura diciamo che info.htm deve postare sul nostro secondo file che andremo a creare form.php
Nome: <input type=”text” name=”nome”> // facciamo l’esempio di creare un campo di testo
(che è questo a lato) e sara etichettato con il nome = Nome ovviamente lo possiamo chiamare come vogliamo; quindi input type=”text” significa che verrà inserito un campo di testo dove inserire dei dati e che viene etichettato con il nome name = “nome” ma si poteva chiamare in qualsiasi altro modo mettendo il nome dentro le virgolette ” “<br> // Facciamo uno spazio per dividere il primo dal secondo campo del formEmail: <input type=”text” name=”email”> // come sopra<br> // spazio
<input type=”submit” value=”Invia”> // qui creiamo il bottone di invio con lo script input type=”submit” e all ‘ interno scriviamo “Invio”
</form> chiudiamo il tag del form che sarà contrassegnato per chi usa Dreamweaver da una linea tratteggiata rossa
Quindi alla fine il file info.htm che possiamo anche incollare dentro una pagina con grafica a nostro piacimento è il seguente:
Questo il risultato, ovviamente possiamo aggiungere quanti campi vogliamo a nostro piacimento e dare il nome che vogliamo ricordandosi di modificare il file form.php che andiamo adesso a predisporre
Nome:
Email:
Il file form.php è il motore del nostro form ovvero quello che farà partire l’email verso l’indirizzo da noi scelto che è segreto per l’utente.
Per comporre il file form.php bisogna conoscere una funzione fondamentale molto semplice che è quella mail in php: la funzione mail è così composta
mail (destinatario, oggetto, messaggio, mittente). Ci sono quindi quattro variabili da settare per dire alla funzione mail dove deve andare il messaggio dell’utente, qual’è l’oggetto del messaggio, che messaggio si è voluto comunicare, chi è il mittente (quest’ultimo parametro è opzionale)
Definiamo poi due variabili $nome e $mail che recupereranno tramite la funzione $_POST quello che viene scritto nei vari campi di testo del file info.htm. Attenzione nelle virgolette devo mettere i nomi dei campi che ho definito in info.htm nel nostro caso nome e email
$nome=$_POST[“nome”];
$email=$_POST[“email”];
Dobbiamo definire le variabili della funzione mail:
Il destinatario è quell’indirizzo di posta elettronica dove vogliamo mandare il nostro form quindi scriveremo ad esempio $destinatario=”info@internet-news.it“; Ovviamente la mail è personalizzabile. Attenzione a mettere sempre il ; alla fine della definizione della variabile.
L’ oggetto è la dicitura che vogliamo vedere quando scorriamo la lista di posta elettronica ad esempio $oggetto=”Nuova iscrizione alla Newsletter di Internet News”;
Il messaggio è quello che verrà scritto nel corpo del messaggio quindi per esempio $messaggio=”$nome si è iscritto alla newsletter e ha comunicato questa e-mail $email”; // in questo caso recupero nome e email che sono state scritte dall’utente nei campi di testo nella pagina info.htm
Il Mittente (opzionale): per vedere chi ha scritto posso fare $mittente=”From: $email”; ovvero recupero la mail dal form info.htm.
Quindi alla fine il file form.php sarà così:
<? php // apertura php
$nome=$_POST[“nome”];
$email=$_POST[“email”];
$destinatario=”info@internet-news.it“;
$mittente=”From: $email”;
$oggetto=”Nuova iscrizione alla Newsletter di Internet News“;
$messaggio=”$nome si è iscritto alla newsletter e ha comunicato questa e-mail $email”;
mail($destinatario,$oggetto,$messaggio,$mittente);
echo “Grazie per esserti iscritto alla newsletter di Internet-News”; // nelle virgolette appare ciò che viene scritto dopo che si è inviato correttamente il form
?> // chiusura php
Nessun Commento