Salve a tutti,
vi seguo praticamente ogni volta che ho qualche piccolo dubbio sulla programmazione web in generale, solo che ora ho necessità di un aiuto diretto, non stò riuscendo a venire a capo di un problema che mi si è presentato nella realizzazione di un form mail.
Ho trovato un semplicissimo form mail di questo tipo:
codice:
<form name="form1" id="form1" method="post" action="mail.php">
<form name="modulo" method="post" action="mail.php">
<div>La tua email
<input type="text" name="email" size="30"></div>
<div>Oggetto
<input type="text" name="oggetto" size="30"></div>
<div>Messaggio
<textarea name="testo" cols="40" rows="7"></textarea></div>
<div>[img]captcha.php[/img]
<input name="codice" type="text" id="codice" size="5" maxlength="5"/></div>
<div><input type="submit" value="Invia email"> <input type="reset" value="Resetta campi"></div>
</form>
</form>
Al quale ho associato una immagine captcha, per limitare quanto più possibile lo spam:
Codice PHP:
<?php
session_start();
$random_txt = md5(microtime());
$random_txt = substr($random_txt, 0, 5);
$immagine = imagecreatefrompng("captcha.png");
$colore = imagecolorallocate($immagine, 0, 0, 0);
imagestring($immagine, 100, 35, 15, $random_txt, $colore);
$_SESSION['CODICE'] = $random_txt;
header("Content-type: image/jpeg");
imagejpeg($immagine);
?>
Per il controllo dei campi ho utilizzato questo:
Codice PHP:
<?php
$ogg="$_POST[oggetto]";
$test="$_POST[testo]";
$em="$_POST[email]";
$dest="mailacuiinviare@gmail.com";
if ($em==""){
echo "<center><font color='red'>[b]Non hai inserito la tua email[/b]</font></center> ";
}elseif ($ogg=="") {
echo "<center><font color='red'>[b]Non hai specificato oggetto del messaggio[/b]</font></center>";
}elseif ($test=="") {
echo "<center><font color='red'>[b]Non hai inserito il testo[/b]</font></center>";
}elseif ($dest=="") {
echo "<center><font color='red'>[b]Non hai inserito il destinatario[/b]</font></center>";
}elseif ($_POST['codice']=="") {
echo "<center><font color='red'>[b]Non hai inserito il captcha[/b]</font></center>";
}elseif ($_SESSION['CODICE']!=$_POST['codice']) {
echo "<center><font color='red'>[b]Captcha errato![/b]</font></center>";
}else {
mail("$dest","$ogg","$test","From: $em");
echo "<center><table border=0><td>[b]La tua email e' stata inviata con successo![/b]</td></table></center>";
}
?>
<center>[url="javascript:history.back()"]Torna indietro[/url]</p></center>
Nel controllo mi si è presentato questo problema, se il captcha è sbagliato, mi stampa un messaggio di errore (e fin qui tutto perfetto), se il captcha è corretto, mi visualizza lo stesso errore... Praticamente cose se l'else fosse totalmente snobbato... Ammetto di non essere una cima, ma io in quell'ultimo codice postato non ci vedo errori sintattici, tanto è vero che hanno la stessa identica forma degli altri controlli che funzionano perfettamente...
Se qualcuno riuscisse a darmi una mano, gli sarei molto grato 
Anche xkè nonostante tutto, stò per rinunciare al form e passare ad un semplice, quanto odioso, mailto....