Dopo aver navigato un pò in rete ed essere rimasto un pò deluso da i Form trovati ho deciso di usare le mie più che caretti basi di php (da autoditta e un paio di giorni che ci ho messo mano) per creare un piccolo form di invio e-mail.
Il form permette ad utenti e visitatori del mio sito di inviarmi direttamente un e-mail, basta che specifichino un indirizzo e-mail valido, e a piacere un oggetto e ovviamente un messaggio. Obbligatorio il rispondere ad un domanda per scartare i bot, impendendo che mi intasino l'email di spamm. Ma non capisco perchè, la cosa non va, mi date una mano?
Ecco il form che invia i dati e il codice PHP che ellabora la richiesta ed invia l'email:
Codice HTML:
<form method="post" action="mail.php">
<b>La tua e-mail</b> <input type="text" name="mitt"><br><br>
<b>L'oggetto della tue e-mail</b> <input type="text" name="ogg"><br><br>
<b>Inserisci il tuo messaggio</b><br>
<textarea name="mess" rows="12" cols="54"></textarea><br>
<b>Per motivi di sicurezza rispondi a questa semplice domanda:<br>
2+3=</b> <input type="text" name="ver"><br><br>
<input type="submit" value="Invia"> <input type="reset" value="Cancella">
</form>
Codice PHP:
<?
if ($_POST['ver'] == 5);
{
$mittente = $_POST['mitt'];
if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $mittente))
{
$oggetto = $_POST['ogg'];
$messaggio = $_POST['mess'];
mail("la mia mail", "$oggetto", "$messaggio", "From: $mittente");
?>
<div align="center">e-mail inviata con successo, riceverei presto una risposta<br>
Grazie per averci contattato<br>
<input type="button" value="Indietro" onClick="javascript:history.go(-1)"></div>
<?
}
else
{
?>
<div align="center">Indirizzo <? echo $mittente ?> non valido, riprova<br>
<input type="button" value="Indietro" onClick="javascript:history.go(-1)"></div>
<?
}
}
else // Ecco il problema
{
?>
<div align="center"><? echo $_POST['ver'] ?> non è la risposta esatta, riprova<br>
<input type="button" value="Indietro" onClick="javascript:history.go(-1)"></div>
<?
}
?>
L'else che vi ho evidenziato dovrebbe generare un messaggio di errore se la risposta data alla mia domanda non è quella corretta, ma invece, mi dice:
Parse error: syntax error, unexpected T_ELSE in /membri/morgensterngdr/mail.php on line 24
chiedo il vostro aiuto, perchè sono in un vicolo cieco. Grazie a tutti delle risposte.