Ik heb het volgende script in een pagina geplaatst. Hij werkt met het emailadres dat er nu in staat, maar als ik het adres wijzig in [email protected] geeft hij de volgende foutmelding: Why ?? :(
Ik zie dat staan in het script, maar waarom geeft hij dit als ik alleen het emailadres maar heb gewijzigd en verder niets aan het script zelf?
<?php
function checkmail($mail)
{
$email_host = explode("@", $mail);
$email_host = $email_host['1'];
$email_resolved = gethostbyname($email_host);
if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
$valid = 1;
return $valid;
}
// geef e-mail adres op van ontvanger
$mail_ontv = "[email protected]"; // [email protected]
// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
if (!$_POST['submit'])
{
echo "<form method='post' action='".$PHP_Self."#melding'>";
echo "<p>";
echo "<label for='1'><font color='#73BE44' size='5px'> Naam </font></label><br/>";
echo "<input type='text' id='1' name='naam'>";
echo "</p>";
echo "<p>";
echo "<label for='3'><font color='#73BE44' size='5'> E-mail adres </font></label><br/>";
echo "<input type='text' id='3' name='mail'>";
echo "</p>";
echo "<p>";
echo "<label for='4'><font color='#73BE44' size='5'> Reactie: </font></label><br/>";
echo "<TEXTAREA class=forms name='msggs' id='4' ROWS='8' COLS='32'>" . htmlentities($_POST['msggs']) . "</TEXTAREA>";
echo "<p>";
echo "<label> </label><input type='submit' name='submit' value='Verstuur' class='button'>";
echo "</p>";
echo "</form>";
}
// versturen naar
else
{
// onderwerpregel van de mail naar arieblok.nu
$onderwerp = 'Contactformulier van arieblok.nu';
$_POST['onderwerp'] = $onderwerp;
// set datum
$datum = date("d.m.Y H:i");
$from = $_POST["naam"];
$from = urldecode($from);
if (eregi("\r",$from) || eregi("\n",$from)){
die("Why ?? :(");
}
$emailadress = $_POST["mail"];
$emailadress = urldecode($emailadress);
if (eregi("\r",$emailadress) || eregi("\n",$emailadress)){
die("Why ?? :(");
}
$message = $_POST["msggs"];
$message = urldecode($message);
if (eregi("\r",$message) || eregi("\n",$message)){
die("Why ?? :(");
}
// set ip
$ip = $_SERVER['REMOTE_ADDR'];
$inhoud_mail .= "===================================================\n";
$inhoud_mail .= "INGEVULD CONTACT FORMULIER OP ARIEBLOK.NU\n\n";
$inhoud_mail .= "===================================================\n\n";
$inhoud_mail .= "Naam: " . $_POST['naam'] . "\n";
$inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n";
$inhoud_mail .= $_POST['msggs'] . "\n\n";
$inhoud_mail .= "Verstuurd op $datum via het ip address " . $ip . "\n\n";
$inhoud_mail .= "===================================================\n\n";
// --------------------
// spambot protectie
// ------
// van de tutorial: http://www.phphulp.nl/php/tutorials/10/340/
// ------
$headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">";
$headers = stripslashes($headers);
$headers = str_replace("\n", "", $headers); // Verwijder \n
$headers = str_replace("\r", "", $headers); // Verwijder \r
$headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
$_POST['onderwerp'] = str_replace("\n", "", $_POST['onderwerp']); // Verwijder \n
$_POST['onderwerp'] = str_replace("\r", "", $_POST['onderwerp']); // Verwijder \r
$_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers);
echo "<b>Bedankt voor je reactie!</b>";
}
?>
</p>
Alvast bedankt voor jullie tijd en antwoord.
Sabine
2.353 views