Contactpagina

Status
Niet open voor verdere reacties.

ennairam

Gebruiker
Lid geworden
7 jan 2011
Berichten
38
Hallo allemaal,

Ik heb een (zakelijke) website gemaakt in Dreamweaver. Heel wat voor mij, aangezien ik weinig snap van al die code's. Ik snap wel wat, maar niet veel.

Wat ik graag zou willen hebben op m'n website, is zo'n handig contactformulier. Gewoon een heel simpel dingetje, waarop men hun NAAM, TELEFOONNUMMER en EMAIL en uiteraard hun BERICHT in moeten vullen, wat dan vervolgens naar mijn e-mailadres moet worden verzonden.

Ik heb een paar dagen gezocht op google maar daar word ik niet veel wijzer van.

Wie heeft er toevallig voor mij de code van zo'n contactformulier, of een link naar een website waarop dat staat? Als het maar in 'kindertaal' is, want van de jargon begrijp ik toch niets....

In ieder geval hartelijk dank alvast en een fijn weekend.

Marianne
 
Hoi,

Ik heb waarschijnlijk wel wat voor jou. Misschien zijn de codes wat ingewikkeld, maar als je het gewoon kopieert en plakt, dan hoef je er waarschijnlijk weinig aan te doen. Het is in PHP, en daarmee wil ik zeggen dat je dus een php pagina moet hebben om het werkend te krijgen. Als je dit liever niet hebt, dan kan ik wel ergens een javascriptje opzoeken, die je daarvoor in de plaats kunt gebruiken (als je bijv. html wilt gebruiken).

Op mijn site vind je een voorbeeldje. Dit is zoals het hieronder staat uitgewerkt (de codes...).

mr32 :cool:
 
Laatst bewerkt:
Hier zijn de codes voor het php script. Vrij naar Miranda Verburg, officiële schrijver van dit script. Ik heb het aangepast op jou voorwaarden... Ik heb hier helaas geen webadres van...

PHP:
<?php
session_start(); 
 
/*******************************
*        CONTACT FORMULIER                     *
*        contactformulier.php             *
*                                                             *
*        Author: Miranda Verburg         *
*        Datum: 10 september 2010     *
*                                                             *
*        Pas het e-mail adres aan     *
*        bij $mail_ontv en upload   *
*        het naar je webserver..         *
********************************/

// E-mailadres van de ontvanger
$mail_ontv = 'JOUWADRES@GMAIL.COM'; // <<<----- voer jouw e-mailadres hier in!

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    // naam controle
    if (!ereg('^[ a-zA-Z-]+$', $_POST['naam']))
        $naam_fout = 1;
    // e-mail controle
    if (function_exists('filter_var') && !filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
            $email_fout = 1;
    // Antiflood bescherming, zorgt ervoor dat dezelfde persoon niet binnen 20sec nog een mail kan verzenden...
    if (!empty($_SESSION['antiflood']))
    {
        $seconde = 20; // tijd dat de persoon geen mail kan sturen (in sec)
        $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['mail']) || !empty($email_fout) || empty($_POST['bericht']) || empty($_POST['onderwerp']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        if (!empty($naam_fout))
            echo '<p>Uw naam mag alleen letters bevatten.</p>';
        elseif (!empty($email_fout))
            echo '<p>Uw e-mailadres is niet juist.</p>';
        elseif (!empty($antiflood))
            echo '<p>U mag slechts &eacute;&eacute;n bericht per ' . $seconde . ' seconde versturen.</p>';
        else
            echo '<p>U bent uw naam, e-mailadres, onderwerp of bericht vergeten in te vullen.</p>';
    }
        
  // HTML e-mail formlier
  echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
  <p>
  
      <label for="naam">Naam:</label><br />
      <input type="text" id="naam" name="naam" value="' . htmlspecialchars($_POST['naam']) . '" /><br />
	  
	        <label for="tel">Telefoon nummer:</label><br />
      <input type="text" id="tel" name="tel" value="' . htmlspecialchars($_POST['tel']) . '" /><br />
      
      <label for="mail">E-mailadres:</label><br />
      <input type="text" id="mail" name="mail" value="' . htmlspecialchars($_POST['mail']) . '" /><br />
      
      <label for="onderwerp">Onderwerp:</label><br />
      <input type="text" id="onderwerp" name="onderwerp" value="' . htmlspecialchars($_POST['onderwerp']) . '" /><br />
      
      <label for="bericht">Bericht:</label><br />
      <textarea id="bericht" name="bericht" rows="8" style="width: 400px;">' . htmlspecialchars($_POST['bericht']) . '</textarea><br />
      
      <input type="submit" name="submit" value=" Versturen " />
  </p>
  </form>';
}
// versturen naar
else
{      
  // Formulier, deze inhoud (wordt ingevuld door de strings (beginnend met een $)) komt in jou mailbox
  $datum = date('d/m/Y H:i:s');
    
  $inhoud_mail = "===================================================\n";
  $inhoud_mail .= "Ingevulde contact formulier " . $_SERVER['HTTP_HOST'] . "\n";
  $inhoud_mail .= "===================================================\n\n";
  
  $inhoud_mail .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
  $inhoud_mail .= "Telefoon nummer: " .htmlspecialchars($_POST['tel']) . "\n";
  $inhoud_mail .= "E-mail adres: " . htmlspecialchars($_POST['mail']) . "\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
  // ------
 
  $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
  
  $_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
  $_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
  $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
  
  if (mail($mail_ontv, $_POST['onderwerp'], $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>';
  }
}
?>

Het enige wat je hoeft te doen is dit een een php pagina te plakken en vervolgens bovenin (staat aangegeven) uw e-mail adres in te typen. Let wel: Deze mails zullen bij u in het begin (zeker bij gmail) als spam binnenkomen omdat hij deze mail verstuurt vanuit uw e-mail adres, wat officieel betekend dat jou e-mail adres misbruikt wordt, dat zult u gmail nog even moeten wijs maken dat dat géén spam is...

Veel succes!

mr32 :cool:
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan