Ciao,
son qui per chiedere aiuto sulla creazione di un form mail con captcha e allegato. Ho già creato la pagina form e la parte php per inviare il messaggio ad un indirizzo mail.
Il codice form è il seguente:
Il codice captcha, l'ho trovato su google, è questo:
Mentre il codice php, per inviare il messaggio, è questo:
Non so come integrare il controllo captcha e l'allegato, ma soprattutto settare i campi obbligatori, nome email oggetto messaggio e inserisci il codice captcha.
Grazie in anticipo a chiunque cerchi di darmi una mano.
son qui per chiedere aiuto sulla creazione di un form mail con captcha e allegato. Ho già creato la pagina form e la parte php per inviare il messaggio ad un indirizzo mail.
Il codice form è il seguente:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Form
</title>
</head>
<body>
<form id="form1" enctype="multipart/form-data" method="post" action="feedback.php">
<table width="750px" border="1" cellspacing="5" cellpadding="5">
<tr>
<td width="50%">
<div align="right">
Nome
</div>
</td>
<td width="50%">
<div align="left">
<p>
<label>
<input name="nome" type="text" id="nome" size="40" />
</label>
</p>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
Email
</div>
</td>
<td>
<div align="left">
<p>
<label>
<input name="email" type="text" id="email" size="40" />
</label>
</p>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
Oggetto
</div>
</td>
<td>
<div align="left">
<p>
<label>
<input name="oggetto" type="text" id="oggetto" size="40" />
</label>
</p>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
Messaggio
</div>
</td>
<td>
<div align="left">
<p>
<label>
<textarea name="messaggio" id="messaggio" cols="45" rows="5"></textarea>
</label>
</p>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
Upload File
</div>
</td>
<td>
<div align="left">
<p>
<label>
<input type="file" name="upload_file" id="upload_file" />
</label>
</p>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
Codice captcha
</div>
</td>
<td>
<div align="left">
<img src="captcha.php" alt="captcha codice" name="captcha" width="233" height="49" id="captcha" />
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
Inserisci il codice captcha
</div>
</td>
<td>
<div align="left">
<form id="form2" enctype="multipart/form-data" method="post" action="captcha.php">
<p>
<label>
<input name="text_captcha" type="text" id="text_captcha" size="40" />
</label>
</p>
</form>
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
<p>
<input type="reset" name="reset" id="reset" value="Cancella" />
</p>
</div>
</td>
<td>
<div align="left">
<p>
<input type="submit" name="invia" id="invia" value="Invia" />
</p>
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
Il codice captcha, l'ho trovato su google, è questo:
PHP:
<?php
session_start();
header("Content-type: image/png");
$captchaImage = imagecreatefrompng("captcha.png") or die("Cannot Initialize new GD image stream");
$captchaFont = imageloadfont("font.gdf");
$captchaText = substr(md5(uniqid('')),-9,9);
$_SESSION['session_captchaText'] = $captchaText;
$captchaColor = imagecolorallocate($captchaImage,200,200,200);
imagestring($captchaImage,$captchaFont,15,5,$captchaText,$captchaColor);
imagepng($captchaImage);
imagedestroy($captchaImage);
?>
Mentre il codice php, per inviare il messaggio, è questo:
PHP:
<?php
//Recupero variabili
$nome = $_POST['nome'];
$email = $_POST['email'];
$oggetto = $_POST['oggetto'];
$messaggio = $_POST['messaggio'];
$ip = $_SERVER['REMOTE_ADDR'];
//Settare email
$to = "[email protected]";
//Creazione del mesaggio da inviare
$headers = "From: $email \n";
$headers .= "Reply-To: $email \n";
$headers .= "MIME-Version: 1.0 \n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1 \n";
$message = "Hai ricevuto una e-mail da: ".$nome.", ".$email.".<br /> <br />";
$message .= "Oggetto: ".$oggetto."<br /> <br />";
$message .= "Messaggio: <br /> <br />".$messaggio."<br /><br /> <br />";
$message .= "IP: ".$ip."<br /> <br />";
//Se l'e-mail viene spedita correttamente, compare un messaggio di avvenuto invio
if(mail($to, $oggetto,$message, $headers)){
echo "<p>Messaggio inviato con successo</p>";
}
//Altrimenti un messaggio di errore
else{
echo "<p>Ci sono stati degli errori nell'invio della e-mail. Riprovate!</p>";
}
?>
Non so come integrare il controllo captcha e l'allegato, ma soprattutto settare i campi obbligatori, nome email oggetto messaggio e inserisci il codice captcha.
Grazie in anticipo a chiunque cerchi di darmi una mano.