JeffreyvEmpel
Gebruiker
- Lid geworden
- 29 mrt 2013
- Berichten
- 21
Hallo,
Ik heb een contact formulier.
In dit contact formulier staan o.a. de volgende twee velden, Telefoonnummer & E-mail adres.
Nu moet het volgende met deze twee velden gebeuren en ik krijg dat zelf niet voor elkaar.
Wanneer iemand (correct) het E-mail adres veld invult dan is het veld met Telefoonnummer niet verplicht en andersom vice versa.
Het script ziet er als volgt uit:
Is dit mogelijk? Ik ben benieuwd! Alvast bedankt!
Ik heb een contact formulier.
In dit contact formulier staan o.a. de volgende twee velden, Telefoonnummer & E-mail adres.
Nu moet het volgende met deze twee velden gebeuren en ik krijg dat zelf niet voor elkaar.
Wanneer iemand (correct) het E-mail adres veld invult dan is het veld met Telefoonnummer niet verplicht en andersom vice versa.
Het script ziet er als volgt uit:
PHP:
<?php
$naar = 'hier-stond-een@mail.adres'; // Waar moet het naartoe?
$onderwerp = 'Contactformulier hier-stond-een-bedrijf'; // Het onderwerp van het bericht
// Header instellen, zodat nl2br() werkt
$headers = "MIME-version: 1.0\r\n";
$headers .= "content-type: text/html;charset=utf-8\r\n";
if(isset($_POST['versturen'])) // Als het formulier verzonden is door op de verzend knop te klikken
{
$voornaam = trim($_POST['voornaam']); // Alle overbodige spaties uit het voornaam veld verwijderen
$telnr = trim($_POST['telnr']); // Alle overbodige spaties uit het telnr veld verwijderen
$kenteken = trim($_POST['kenteken']); // Alle overbodige spaties uit het kenteken veld verwijderen
$email = trim($_POST['email']); // Alle overbodige spaties uit het email veld verwijderen
$bericht = trim($_POST['bericht']); // Alle overbodige spaties uit het bericht veld verwijderen
$fout = false; // Om te kijken straks of er wat fout is
if(empty($voornaam)) // Als het voornaam veld niet is ingevuld
{
print '<p>U bent uw voornaam vergeten in te vullen, klik <a href = "javascript:history.back();">hier</a> om terug te gaan.</p>';
$fout = true; // Zorgen dat het script zometeen weet dat er wat fout is
}
if(empty($telnr)) // Als het telnr veld niet is ingevuld
{
print '<p>U bent uw telefoonnummer vergeten in te vullen, klik <a href = "javascript:history.back();">hier</a> om terug te gaan.</p>';
$fout = true;
}
elseif( !preg_match('/^[0-9\-]{10,11}$/', $telnr)) // Als het telefoonnummer niet correct is ingevuld.
{
print '<p>U hebt uw telefoonnummer verkeerd of onvolledig ingevuld, klik <a href = "javascript:history.back();">hier</a> om terug te gaan.</p>';
$fout = true;
}
if(empty($kenteken)) // Als het kenteken veld niet is ingevuld
{
$fout = false;
}
elseif( !(preg_match('/^[0-9\-\A-Z\a-z]{6}$/', $kenteken) || preg_match('/^[0-9\-\A-Z\a-z]{8}$/', $kenteken) ) ) // Als het kenteken niet correct is ingevuld.
{
print '<p>U hebt uw kenteken verkeerd of onvolledig ingevuld, klik <a href = "javascript:history.back();">hier</a> om terug te gaan.</p>';
$fout = true;
}
if(empty($email)) // Als het email veld niet is ingevuld
{
print '<p>U bent uw e-mail adres vergeten in te vullen, klik <a href = "javascript:history.back();">hier</a> om terug te gaan.</p>';
$fout = true;
}
elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) // Als het email adres niet correct is
{
print '<p>U hebt uw e-mail adres verkeerd of onvolledig ingevuld, klik <a href = "javascript:history.back();">hier</a> om terug te gaan.</p>';
$fout = true;
}
if(empty($bericht)) // Als het bericht veld niet is ingevuld
{
print '<p>U heeft geen bericht ingevuld, klik <a href = "javascript:history.back();">hier</a> om terug te gaan.</p>';
$fout = true;
}
if($fout == false) // Als er niks fout is (alles is dus netjes ingevuld)
{
$headers .= 'From: ' . $voornaam . ' ' . $telnr . ' ' . $kenteken . '<' . $email . '>'; // Een afzender instellen zodat je kan reageren.
if(mail($naar, $onderwerp, nl2br($bericht), $headers))
{
print '<p>Uw bericht is succesvol verzonden! Klik <a href = home.htm>hier</a> om verder te gaan.</p>';
}
else
{
print '<p>Er is iets mis gegaan. Uw bericht is niet verzonden, klik <a href = "javascript:history.back();">hier</a> om terug te gaan en het opnieuw te proberen.</p>';
}
}
}
?>
Is dit mogelijk? Ik ben benieuwd! Alvast bedankt!
Laatst bewerkt: