premetto che il php mi viene davvero difficile infatti è da 5 giorni che non risolvo, proprio non riesco a capire dove sia l'errore, ci sono 3 file php, contatto. php , captcha.php , send.php e fileditesto.ttf che serve a generare l'immagine nel captcha ma che non so come allegare al post.
posto in ordine magari sapete dirmi che cosa sbaglio
Codice PHP:
<form method="post" action="send.php">
Questo è il tuo ip: <?php echo $_SERVER['REMOTE_ADDR']; ?></p>
Nome / Name : <input name="name" size="30" maxlength="40" type="text"/>
Email :
<input name="email" size="30" maxlength="40" type="text"/>
Oggetto / Subject :
<input name="subject" size="30" maxlength="40" type="text"/>
Messaggio / Message :
<textarea name="msg" cols="50" rows="6"></textarea>
inserisci il codice :[img]captcha.png[/img]
<input name="code" type="text"/>
</p>
<input value="Resetta / Reset" type="reset"/>
<input value=" Invia / Send " type="submit"/>
<input value="Torna indietro / Come back" name="B4" onclick="javascript: history.back()" type="button"/>
</p>
</form>
Codice PHP:
<?php
session_start();
header("Content-type: image/png");
$x = 200; $y = 75;
$code = substr(sha1(uniqid(microtime(), true)),0,8);
$_SESSION['captcha']= $code;
$space = $x / (strlen($code)+1);
$img = imagecreatetruecolor($x,$y);
$bg = imagecolorallocate($img,255,255,255);
$border = imagecolorallocate($img,0,0,0);
$colors[] = imagecolorallocate($img,128,64,192);
$colors[] = imagecolorallocate($img,192,64,128);
$colors[] = imagecolorallocate($img,108,192,64);
imagefilledrectangle($img,1,1,$x-2,$y-2,$bg);
imagerectangle($img,0,0,$x-1,$y-2,$border);
for ($i=0; $i< strlen ($code);
$i++) { $color = $colors[$i % count($colors)];
imagettftext($img,28+rand(0,8),-20+rand(0,40),($i+0.3)*$space,50+rand(0,10),$color,'filetesto.ttf',$code{$i});
} for($i=0;$i<400;$i++) { $x1 = rand(3,$x-3);
$y1 = rand(3,$y-3);
$x2 = $x1-2-rand(0,8);
$y2 = $y1-2-rand(0,8);
imageline($img,$x1,$y1,$x2,$y2,$colors[rand(0,count($colors)-1)]);
} imagepng($img);
?>
Codice PHP:
<?php
session_start();
if($_SESSION['captcha']!=stripslashes($_POST['code']))
{
exit("<script language='javascript'>window.alert('Codice errato!'); window.settimeout(location.href='contact.php', 5);</script>");
}
$receiverMail = "addr@addr.it";
$name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
$email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
$subject = ltrim(rtrim(strip_tags(stripslashes($_POST['subject']))));
$msg = ltrim(rtrim(strip_tags($_POST['msg'])));
$ip = getenv("REMOTE_ADDR");
$msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";
// VALIDATION
if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
echo "<h3>Il messaggio non è stato inviato</h3>
Si prega di compilare tutti i campi obbligatori</p>";
}
elseif(!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email)) {
echo "<h3>Il messaggio non è stato inviato</h3>
L'indirizzo e-mail non è valido</p>";
}
else {
mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
echo "<h3>Il messaggio è stato inviato!</h3>
risponderò al più presto possibile.</p>"; }
?>