Ho voluto provare a realizzare un form che tramite una pagina riepilogo.php facesse visualizzare i campi compilati dall'utente in modo che l'utente potesse decidere di spedire la mail tramite il file elabora_form.php oppure di tornare indietro per ricompilare i campi: posto tutti e tre i file:
form.html:
<form name="modulo" action="riepilogo.php" method="post">
<table>
<tr>
<td>Nome utente:</td><td><input type="text" name="nome" size="20"></td>
</tr>
<tr>
<td>Indirizzo email:</td><td><input type="text" name="indirizzo" size="20"></td>
</tr>
<tr>
<td>Motivo del contatto:</td>
<td>
<select name="motivo">
<option value="commerciale">Informazioni commerciali</option>
<option value="preventivo">Richiesta preventivo</option>
<option value="appuntamento">Prenotazione appuntamento</option>
</select>
</td>
</tr>
<tr>
<td>Note:</td><td><textarea name="testo" cols="20" rows="7"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Invia email"></td>
</tr>
</table>
</form>
riepilogo.php
Riepilogo campi:
<?php
echo "nome: $_POST[nome]
";
echo "indirizzo: $_POST[indirizzo]
";
echo "motivo del contatto: $_POST[motivo]
";
echo "testo inserito: $_POST[testo]
";
echo "se i campi sono stati compilati correttamente clicca sul pulsante sottostante altrimenti clicca su torna indietro per reinserire i dati
";
echo "<p align=center><a href=elabora_form.php>Invia i dati</a></p>";
echo "<p align=center><a href=form.html>Torna indietro</a></p>";
?>
elabora_form.php
<?
include("riepilogo.php");
$colore_sfondo="#82C0FF";
$colore_testo="#FFFF80";
$font="verdana";
$font_size=2;
$intestazioni = "MIME-Version: 1.0\r\n";
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
$intestazioni .= "From: Kronohweb<kronoh2@libero.it>\r\n";
$messaggio="<html><head><title></title></head><body bgcolor=\"$colore_sfondo\">";
$messaggio.="<font face=\"$font\" size=\"$font_size\" colore=\"$colore_testo\">Questa email ti è stata inviata dal sito.
L'utente $_POST[nome] (a cui puoi rispondere a: <a href=\"mailto:$_POST[indirizzo]\">$_POST[indirizzo]</a>, ti ha contattato per motivi di $_POST[motivo].
Ti ha scritto: $_POST[testo]</font>";
$messaggio.="</body></html>";
mail("kronoh2@libero.it", "Invio email da: $_POST[nome]", $messaggio,$intestazioni);
?>
il passaggio delle variabili da form.html a riepilogo avviene senza problemi funzionano anche i link per tornare indietoe andare alla pagina elabora_form.php.
Il problemasta nel fatto che quando clicco sul link per andare su elabora_form.php sulla pagina riepilogo sotto i link mi da questo errore:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Programmi\Apache Group\Apache2\htdocs\web-link\elabora_form.php on line 13
come se cercasse l'smtp dal mio computer, come mai come dovrei modificarlo?
Grazie anticipatamente
Davide