Battousai
Legacy Member
Hey,
Ik heb het volgende scriptje om een contactformulier te laten mailen, als ik het op localhost test werkt het perfect en krijg ik gelijk mijn mails toe, maar als ik het op http://simon.servlogic.nl/contact.php test, dan zegt hij telkens echo "Je bent je naam, e-mail adres, contactreden of bericht vergeten in te vullen. Ook kan het zijn ";
echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>";
servlogic ondersteund op die site php, dat heb ik al nagevraagd.
Dank bij voorbaat,
Simon
Ik heb het volgende scriptje om een contactformulier te laten mailen, als ik het op localhost test werkt het perfect en krijg ik gelijk mijn mails toe, maar als ik het op http://simon.servlogic.nl/contact.php test, dan zegt hij telkens echo "Je bent je naam, e-mail adres, contactreden of bericht vergeten in te vullen. Ook kan het zijn ";
echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>";
servlogic ondersteund op die site php, dat heb ik al nagevraagd.
Dank bij voorbaat,
Simon
Code:
<?
// geef e-mail adres op van ontvanger
$mail_ontv = "[email protected]";
$smtp = "uit.telenet.be";
// is niet 100% !!!
function checkmail($mail)
{
$email_host = explode("[email protected]", $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;
}
// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['contactreden']))
{
if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['contactreden']))
{
echo "Je bent je naam, e-mail adres, contactreden of bericht vergeten in te vullen. Ook kan het zijn ";
echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>";
}
// form + tabel
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">";
// naam
echo "<tr><td>Naam: E-mail adres:</td></tr>";
echo "<tr><td><input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\">";
echo " <input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>";
// space
echo "<tr><td> </td></tr>";
// mail
echo "<tr><td>Gsm-nummer of telnummer: Contactreden: </td></tr>";
echo "<tr><td><input type=\"text\" name=\"gsmnr\" size=\"10\" value=\"" . htmlentities($_POST['gsmnr']) . "\">";
echo " <input type=\"text\" name=\"contactreden\" value=\"" . $_POST['contactreden'] . "\"></td> </tr>";
// space
echo "<tr><td> </td></tr>";
// mail
echo "<tr><td>Bericht: <input type=\"submit\" name=\"submit\" value=\"Versturen\"><input type=\"reset\" name=\"wis\" value=Wis alles></td></tr>";
echo "<tr><td><TEXTAREA name=\"msggs\" ROWS=\"2\" COLS=\"16\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>";
// sluit form + tabel
echo "</form>";
echo "</table>";
}
// versturen naar
else
{
// set datum
$datum = date("d.m.Y H:i");
// set ip
$ip = $_SERVER['REMOTE_ADDR'];
$inhoud_mail = "===================================================\n";
$inhoud_mail .= "Ingevulde contact formulier\n";
$inhoud_mail .= "===================================================\n\n";
$inhoud_mail .= "Naam: " . $_POST['naam'] . "\n";
$inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n";
$inhoud_mail .= "GSM-nummer: " . $_POST['gsmnr'] . "\n";
$inhoud_mail .= "Contactreden: " . $_POST['contactreden'] . "\n";
$inhoud_mail .= "Bericht:\n";
$inhoud_mail .= $_POST['msggs'] . "\n\n";
$inhoud_mail .= "Verstuurd op $datum via het ip " . $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['contactreden'] = str_replace("\n", "", $_POST['contactreden']); // Verwijder \n
$_POST['contactreden'] = str_replace("\r", "", $_POST['contactreden']); // Verwijder \r
$_POST['contactreden'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['contactreden'])); // Slashes van quotes
mail($mail_ontv = "[email protected]", $_POST['contactreden'], $inhoud_mail, $headers);
echo "<h1>Je e-mail is verstuurd</h1>";
echo "<p>Bedankt voor het versturen van een e-mail. Je zult snel een antwoord ";
echo "krijgen indien dit nodig is.</p>";
echo "<p>We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie ";
echo "die we binnen krijgen. Je e-mail adres zal nooit aan derden worden verstrekt.</p>";
}
?>
