Registreren

    Informatie

    Het is heel gemakkelijk om lid te worden. Door je gegevens op te geven op de registratie pagina ontvang je automatisch een email met je inlog gegevens.

  • Registreer je hier

Aanmelden

    Informatie

    Omdat je niet aangemeld bent is het gebruikerspaneel niet beschikbaar. Vul hiernaast je gegevens in om gebruik te maken van het gebruikerspaneel.

Aanmeldformulier


Email formulier

PHP is een scripttaal, die bedoeld is om op webservers dynamische webpagina's te creëren. PHP is in 1994 ontworpen door Rasmus Lerdorf, een senior software engineer bij IBM. Destijds was de taal duidelijk geïnspireerd door Perl.

Aanvankelijk stonden de letters PHP voor Personal Home Page (de volledige naam was Personal Home Page/Forms Interpreter, PHP/FI). Sinds PHP 3.0 is de betekenis een recursief acroniem geworden: PHP: Hypertext Preprocessor.

Email formulier

Berichtdoor Theo » 03 Sep 2008 22:55

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
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

Berichtdoor DeeF » 11 Nov 2008 22:06

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
DeeF
 
Berichten: 1
Geregistreerd: 11 Nov 2008 22:04

Re: [PHP] Email formulier

Berichtdoor RedRose » 11 Nov 2008 22:24

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
RedRose
Globale moderator
 
Berichten: 1994
Geregistreerd: 14 Jun 2005 18:12

Re: [PHP] Email formulier

Berichtdoor Fluring Lifes » 12 Nov 2008 16:51

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.
Gebruikers-avatar
Fluring Lifes
Beheerder
 
Berichten: 1155
Geregistreerd: 28 Sep 2005 19:54
Woonplaats: Alkmaar - Nederland

Re: Email formulier

Berichtdoor nancy » 13 Aug 2010 23:13

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.
nancy
 
Berichten: 1
Geregistreerd: 13 Aug 2010 23:07

Re: Email formulier

Berichtdoor Theo » 13 Aug 2010 23:41

Fijn dat je het werkend hebt gekregen :)

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()


Terug naar PHP



Wie is er online?

Gebruikers in dit forum: Google [Bot] en 1 gast


cron