Mailform med antispam
HejsaJeg har taget udgangspunkt i den her: http://www.hjemmesideskolen.dk/scripts/phpmailc.php
Men selve verifikationen virker ikke. Jeg får ihvertfald at vide hver gang, at den ikke kan godkendes...
<?php
IF (isset($_POST['submit'])) {
IF($_SESSION['verify'] == strtoupper($_POST['auth'])) {
// IF (!empty($_POST['name']) && !empty($_POST['subject']) &&
// !empty($_POST['email']) && !empty($_POST['message'])) {
$headers="From: ".$_POST['navnFra']."<".$_POST['mailFra'].">";
IF (@$_POST['customer_copy']) {
$headers .= "\r\nBcc: ".$_POST['mailFra'];
}
$body .= "Meddelelse den " . date("d/m y") . " kl. " . date("G:i") . " fra " . ($_SERVER['REMOTE_ADDR']) . "\r\n" . "Navn: " . $_POST['navnFra'] . "\r\n" . "Mail: " . $_POST['mailFra'] . "\r\n" . "Emne: " . $_POST['emneFra'] . "\r\n\r\n" . $_POST['indholdFra'];
IF(@mail("dit.navn@dit_domain.dk", strip_tags($_POST['emneFra']), stripslashes(strip_tags(strip_tags($body))), $headers)) {
echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
}
else {
echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
}
// }
// else {
// echo "<p>Alle felter skal udfyldes!</p>";
// }
}
else {
echo '<p>Desværre, verifikationskoden kunne ikke godkendes!</p>';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Untitled</TITLE>
<SCRIPT LANGUAGE="JavaScript">
/* validering af formular */
<!-- Begin
/*
function checkEmail(myForm) {
if ((myForm.navnFra.value == "")||(myForm.mailFra.value == "")||(myForm.emneFra.value == "")||(myForm.indholdFra.value == "") ) {
alert("Alle felter skal udfyldes!");
return(false);
}
if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.mailFra.value)){
alert("Din e-mail addresse er ikke korrekt!");
return(false);
}
if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.mailFra.value)){
alert("UPS!\nDin e-mail addresse er ikke korrekt!");
return(false);
}
else{
return(true);
}
}*/
// End -->
</SCRIPT>
</HEAD>
<BODY>
<FORM ACTION="<? ECHO $_SERVER['PHP_SELF']; ?>" METHOD="post" NAME="anbefal">
<fieldset>
<legend>Husk at udfylde alle felter</legend>
<label for="t1">Navn:</label>
<input id="t1" type="text" name="navnFra" /><br />
<label for="t2">Email:</label>
<input id="t2" type="text" name="mailFra" /><br />
<label for="t3">Emne:</label>
<input id="t3" type="text" name="emneFra" /><br />
<label for="t4">Besked:</label>
<textarea id="t4" name="indholdFra" rows="10" cols="49"></textarea><br />
<label for="t5">Kopi til dig?</label>
<input type="checkbox" id="t5" name="customer_copy" checked="checked" /><br />
<label for="auth">Verifikation:</label>
<span style="float:left;margin-right=10px;">
<input type="password" id="auth" name="auth" />
<br />Indtast kode for<br />at sende mail!
</span>
<img src="verify.php" alt="auth" /><br />
<label for="t6"> </label><input id="t6" type="submit" name="submit" value=" Send mail " />
<input type="reset" value=" Slet alt " />
</fieldset>
</FORM>
</BODY>
</HTML>
Dette script er ikke ændret:
<?php
session_start();
if(isset($_SESSION['verify'])) {
unset($_SESSION['verify']);
}
$str = substr(strtoupper(md5(uniqid("w"))), 0, 5);
$_SESSION['verify'] = $str;
$im = ImageCreateFromPNG("verify.png"); // Definer baggrundsgrafik
$sort = ImageColorAllocate($im,0,0,0); // Definer tekstfarve - rgb-værdier
ImageTTFText ($im,32,5,6,45,$sort,"verdana.ttf",$str); // Definer fontfil -
// Tallene i parentesen herover betyder:
// 32 = fontstørrelse i px
// 5 = rotation i grader
// 6 = afstand i px fra venstre billedkant til tekst
// 45 = afstand i px fra billedtop til tekstlinje
header("Content-type: image/png");
ImagePNG($im);
ImageDestroy($im);
?>
