Hallo PHP-ers,
wie kan mij helpen ik heb bij mijn telefoonnummer dit staan
if (empty($_POST['telefoonnummer']))
en een stukje verder dit elseif (!empty($telefoonnummer))
echo '<p>Uw Telefoonnummer is niet of verkeerd ingevuld.</p>';
maar er moeten alleen cijfers in worden gevuld nu heb ik dit geprobeerd en veranderd naar if (ctype_digit($_POST['telefoonnummer'] == FALSE))
en een stukje daaronder de tekst echo '<p>Uw E-mailadres is niet juist.</p>';
elseif (ctype_digit($_POST['telefoonnummer'] == FALSE))
maar ik kan hem nog steeds versturen met letters wie weet wat ik fout doe
<?php
session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!
// E-mailadres van de ontvanger
$mail_ontv = '[email protected]'; // <<<----- voer jouw e-mailadres hier in!
// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
// naam controle
if (empty($_POST['naam']))
$naam_fout = 1;
// websitenaam controle
if (empty($_POST['websitenaam']))
$websitenaam_fout = 1;
// websiteurl controle
if (empty($_POST['websiteurl']))
$websiteurl_fout = 1;
// telefoonnummer controle
if (empty($_POST['telefoonnummer']))
$telefoonnummer_fout = 1;
// mobielnummer controle
if (empty($_POST['mobielnummer']))
$mobielnummer_fout = 1;
// e-mail controle
if (function_exists('filter_var') && !filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
$email_fout = 1;
// antiflood controle
if (!empty($_SESSION['antiflood']))
{
$seconde = 20; // 20 seconden voordat dezelfde persoon nog een keer een e-mail mag versturen
$tijd = time() - $_SESSION['antiflood'];
if($tijd < $seconde)
$antiflood = 1;
}
}
// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) || empty($_POST['naam']) || !empty($naam_fout) || empty($_POST['websitenaam']) || !empty($websitenaam_fout) || empty($_POST['websiteurl']) || !empty($websiteurl_fout) || empty($_POST['mail']) || !empty($email_fout) || empty($_POST['telefoonnummer']) || !empty($telefoonnummer_fout) || empty($_POST['mobielnummer']) || !empty($mobielnummer_fout))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!empty($naam_fout))
echo '<p>Uw Naam is niet ingevuld.</p>';
elseif (!empty($websitenaam_fout))
echo '<p>Uw Websitenaam is niet ingevuld.</p>';
elseif (!empty($websiteurl_fout))
echo '<p>Uw Website URL is niet ingevuld.</p>';
elseif (!empty($email_fout))
echo '<p>Uw E-mailadres is niet juist.</p>';
elseif (!empty($telefoonnummer))
echo '<p>Uw Telefoonnummer is niet of verkeerd ingevuld.</p>';
elseif (!empty($mobielnummer))
echo '<p>Uw Mobielnummer is niet of verkkerd ingevuld.</p>';
elseif (!empty($antiflood))
echo '<p>U mag slechts één bericht per ' . $seconde . ' seconde versturen.</p>';
}
// HTML e-mail formlier
echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
<p>
<label for="naam">* Naam:</label> <input type="text" id="naam" name="naam" value="' . (isset($_POST['naam']) ? htmlspecialchars($_POST['naam']) : '') . '" /><br />
<label for="websitenaam">* Websitenaam:</label> <input type="text" id="websitenaam" name="websitenaam" value="' . (isset($_POST['websitenaam']) ? htmlspecialchars($_POST['websitenaam']) : '') . '" /><br />
<label for="websiteurl">* Website URL:</label> <input type="text" id="websiteurl" name="websiteurl" value="' . (isset($_POST['websiteurl']) ? htmlspecialchars($_POST['websiteurl']) : '') . '" /><br />
<label for="mail">* E-mailadres:</label> <input type="text" id="mail" name="mail" value="' . (isset($_POST['mail']) ? htmlspecialchars($_POST['mail']) : '') . '" /><br />
<label for="adres">Adres:</label> <input type="text" id="adres" name="adres" value="' . (isset($_POST['adres']) ? htmlspecialchars($_POST['adres']) : '') . '" /><br />
<label for="postcode">Postcode:</label> <input type="text" id="postcode" name="postcode" value="' . (isset($_POST['postcode']) ? htmlspecialchars($_POST['postcode']) : '') . '" /><br />
<label for="woonplaats">Woonplaats:</label> <input type="text" id="woonplaats" name="woonplaats" value="' . (isset($_POST['woonplaats']) ? htmlspecialchars($_POST['woonplaats']) : '') . '" /><br />
<label for="telefoonnummer">* Telefoonnummer:</label> <input type="text" id="telefoonnummer" name="telefoonnummer" value="' . (isset($_POST['telefoonnummer']) ? htmlspecialchars($_POST['telefoonnummer']) : '') . '" /><br />
<label for="mobielnummer">* Mobielnummer:</label> <input type="text" id="mobielnummer" name="mobielnummer" value="' . (isset($_POST['mobielnummer']) ? htmlspecialchars($_POST['mobielnummer']) : '') . '" /><br />
<label for="bericht">Aanvullende informatie:</label> <textarea id="bericht" name="bericht" rows="4" style="width: 250px;">' . (isset($_POST['bericht']) ? htmlspecialchars($_POST['bericht']) : '') . '</textarea><br />
<input type="submit" name="submit" value=" Versturen " />
</p>
</form>';
}
// versturen naar
else
{
// set datum
$datum = date('d/m/Y H:i:s');
$inhoud_mail = "===================================================\n";
$inhoud_mail .= "Aanvraag promotie op Sterrengokkers.nl " . $_SERVER['HTTP_HOST'] . "\n";
$inhoud_mail .= "===================================================\n\n";
$inhoud_mail .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
$inhoud_mail .= "Websitenaam: " . htmlspecialchars($_POST['websitenaam']) . "\n";
$inhoud_mail .= "Website URL: " . htmlspecialchars($_POST['websiteurl']) . "\n";
$inhoud_mail .= "E-mailadres: " . htmlspecialchars($_POST['mail']) . "\n";
$inhoud_mail .= "Adres: " . htmlspecialchars($_POST['adres']) . "\n";
$inhoud_mail .= "Postcode: " . htmlspecialchars($_POST['postcode']) . "\n";
$inhoud_mail .= "Woonplaats: " . htmlspecialchars($_POST['woonplaats']) . "\n";
$inhoud_mail .= "Telefoonnummer: " . htmlspecialchars($_POST['telefoonnummer']) . "\n";
$inhoud_mail .= "Mobielnummer: " . htmlspecialchars($_POST['mobielnummer']) . "\n";
$inhoud_mail .= "Bericht:\n";
$inhoud_mail .= htmlspecialchars($_POST['bericht']) . "\n\n";
$inhoud_mail .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";
$inhoud_mail .= "===================================================\n\n";
// --------------------
// spambot protectie
// ------
// van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
// ------
$headers = 'From: ' . htmlspecialchars($_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
if (mail($mail_ontv, $inhoud_mail, $headers))
{
// zorg ervoor dat dezelfde persoon niet kan spammen
$_SESSION['antiflood'] = time();
echo '<h1>Het contactformulier is verzonden</h1>
<p>Bedankt voor het invullen van het contactformulier. We zullen zo spoedig mogelijk contact met u opnemen.</p>';
}
else
{
echo '<h1>Het contactformulier is niet verzonden</h1>
<p><b>Onze excuses.</b> Het contactformulier kon niet verzonden worden.</p>';
}
}
?>
3.371 views