Email formulier
6 berichten
• Pagina 1 van 1
Email formulier
Inleiding
Een gewild item op een website is een email formulier. Via een formulier kun je gebruikers een email laten sturen zonder dat de gebruiker direct je emailadres ziet. De makkelijkste manier om een email formulier te maken is met PHP. Op deze pagina vind je enkel de code voor email formulier. Uitleg staat als commentaar verwerkt in de code.
PHP
Een gewild item op een website is een email formulier. Via een formulier kun je gebruikers een email laten sturen zonder dat de gebruiker direct je emailadres ziet. De makkelijkste manier om een email formulier te maken is met PHP. Op deze pagina vind je enkel de code voor email formulier. Uitleg staat als commentaar verwerkt in de code.
PHP
- Code: Alles selecteren
<html>
<head>
<title>Mastercode email formulier</title>
</head>
<body>
<?php
// Controleren of de server wat wil versturen.
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
// De variabele $error aanmaken
$error = '';
// Controleren of de velden juist zijn ingevuld.
if(empty($_POST['naam']))
$error .= "U heeft geen <strong>naam</strong> ingevuld.<br />\n";
if(!empty($_POST['naam']) and strlen($_POST['naam']) < 3)
$error .= "U heeft een te korte <strong>naam</strong> ingevuld.<br />\n";
if(empty($_POST['email']))
$error .= "U heeft geen <strong>emailadres</strong> ingevuld.<br />\n";
if(!empty($_POST['email']) and !preg_match('/^[A-Za-z0-9._-]+@[A-Za-z0-9._-]+\.[A-Za-z]{2,6}$/', $_POST['email'])
)
$error .= "U heeft een ongeldig <strong>emailadres</strong> ingevuld.<br />\n";
if(empty($_POST['onderwerp']))
$error .= "U heeft geen <strong>onderwerp</strong> ingevuld.<br />\n";
if(!empty($_POST['onderwerp']) and strlen($_POST['onderwerp']) < 3)
$error .= "U heeft een te kort <strong>onderwerp</strong> ingevuld.<br />\n";
if(empty($_POST['bericht']))
$error .= "U heeft geen <strong>bericht</strong> ingevuld.<br />\n";
if(!empty($_POST['bericht']) and strlen($_POST['bericht']) < 3)
$error .= "U heeft een te kort <strong>bericht</strong> ingevuld.<br />\n";
// Controleren of er iets niet correct is ingevuld. Zo ja, dan geven we een foutmelding.
if( $error )
{
echo "<h3 style=\"color: #f00;\">Fout</h3>\n";
echo "<p>" . $error . "</p>";
}
// Zijn de gegevens juist, dan kunnen we beginnen met het verzenden.
else
{
// De gegevens in een bericht zetten
$bericht = "=============================
Afzender: " . $_POST['naam'] . "
Emailadres: " . $_POST['email'] . "
IP-adres: " . $_SERVER['REMOTE_ADDR'] . "
Onderwerp: " . $_POST['onderwerp'] . "
Bericht:
-------------------------------------------
" . $_POST['bericht'] . "
-------------------------------------------
=============================";
// Nu gaan we de email verzenden
if (@mail("jouw@email.nl",$_POST['onderwerp'],$bericht,"From: " . $_POST['naam'] . " <" . $_POST['email'] . ">"))
{
// Als de email is verzonden geven we dit netjes aan.
echo "<p>Uw email is succesvol verzonden, bedankt!</p>\n";
}
else
{
// Zo niet, dan geven we een foutmelding.
echo "<h3 style=\"color: #f00;\">Fout</h3>\n";
echo "<p>De email kon niet verzonden worden, email mij direct via jouw@email.nl</p>\n";
}
}
}
// Wanneer er niets verzonden wordt óf wanneer er een foutmelding is, formulier weergeven
if( (!empty($error)) or $_SERVER['REQUEST_METHOD'] != "POST" )
{
// Nette manier van variabele opvragen en in het formulier zetten via een verkorte if-else.
$naam = isset($_POST['naam']) ? $_POST['naam'] : '';
$email = isset($_POST['email']) ? $_POST['email'] : '';
$onderwerp = isset($_POST['onderwerp']) ? $_POST['onderwerp'] : '';
$bericht = isset($_POST['bericht']) ? $_POST['bericht'] : '';
?>
<!-- $_SERVER['PHP_SELF'] IS HETZELFDE ALS DE BESTAANDE NAAM VAN DE PAGINA. (HANDIG WANNEER DE NAAM VERANDERD WORDT) -->
<form name="contact" id="contact" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
Naam:<br />
<input type="text" id="naam" name="naam" value="<?php echo $naam; ?>" /><br />
Email:<br />
<input type="text" id="email" name="email" value="<?php echo $email; ?>" /><br />
Onderwerp:<br />
<input type="text" id="onderwerp" name="onderwerp" value="<?php echo $onderwerp; ?>" /><br />
Bericht:<br />
<textarea id="bericht" name="bericht"><?php echo $bericht; ?></textarea><br />
<input type="submit" value="Verstuur" />
</form>
<?
// Niet vergeten af te sluiten
}
?>
</body>
</html>
- Theo
- Oprichter
- Berichten: 1795
- Geregistreerd: 11 Jun 2005 17:43
- Woonplaats: in_array()
Re: [PHP] Email formulier
Zie dat het heel mooi werkt maar zodra ik het in mijn website wil plaatsen dan veeg het mijn layout helemaal weg.
Zie je allen nog de tekst van index.php de css leest hij niet meer enz.
weet jij hoe dit kan?
Groetjes,
DeeF
Zie je allen nog de tekst van index.php de css leest hij niet meer enz.
weet jij hoe dit kan?
Groetjes,
DeeF
- DeeF
- Berichten: 1
- Geregistreerd: 11 Nov 2008 22:04
Re: [PHP] Email formulier
Hoogstwaarschijnlijk zul je de layout van het formulier wat moeten aanpassen, zodat het in je site past. Dat betekent dat je gewoon wat kunt prutsen in de HTML/CSS.
Appease the Moderator Monster: send coffee.
Echte liefde: je vermenigvuldigen met je afgeleide
Echte liefde: je vermenigvuldigen met je afgeleide
- RedRose
- Globale moderator
- Berichten: 1994
- Geregistreerd: 14 Jun 2005 18:12
Re: [PHP] Email formulier
DeeF schreef:Zie je allen nog de tekst van index.php de css leest hij niet meer enz.
Heb je de <head> </head> <body> </body> </html> tags dubbel staan? Aangezien ze ook in het script staan zou dit kunnen.
Het enige wat je van dit script moet gebruiken in de code tussen de <body> tags.
-

Fluring Lifes - Beheerder
- Berichten: 1155
- Geregistreerd: 28 Sep 2005 19:54
- Woonplaats: Alkmaar - Nederland
Re: Email formulier
Pffff ben zolang bezig geweest met een contact formulier te maken maar met deze code is het gelijk gelukt 
Ik kwam erachter dat ik de php code gewoon kon gebruiken in mijn html (BlonTTT)
Maar nu dus helemaal blij.
Ik kwam erachter dat ik de php code gewoon kon gebruiken in mijn html (BlonTTT)
Maar nu dus helemaal blij.
- nancy
- Berichten: 1
- Geregistreerd: 13 Aug 2010 23:07
Re: Email formulier
Fijn dat je het werkend hebt gekregen 
En welkom op ons forum
En welkom op ons forum
I rather feel pain than nothing at all
- Theo
- Oprichter
- Berichten: 1795
- Geregistreerd: 11 Jun 2005 17:43
- Woonplaats: in_array()
6 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Google [Bot] en 1 gast