Velden in mailformulier verplicht maken.

Status
Niet open voor verdere reacties.

erik1976

Nieuwe gebruiker
Lid geworden
4 mrt 2009
Berichten
1
Ik heb op mijn site een simpel webformulier. Nu wil ik het "e-mailveld" hiervan verplicht maken. Ik heb er al veel over gelezen en van alles geprobeerd, maar het lukt me niet. Kan iemand me duwtje de goede richting op geven?

De html code:
HTML:
<form action="sendmail.php" method="post" name="formulier">
    <p><font face="Arial, Helvetica, sans-serif"><i>Naam :</i></font>
    <br>
      <input type="text" name="naam" value="" />
    </p>
    <p><font face="Arial, Helvetica, sans-serif"><i>E-mail:</i></font><br>
    <font face="Arial, Helvetica, sans-serif">
      <input type="text" name="email" value="" />
      </font></p>
    <p><font face="Arial, Helvetica, sans-serif"><i>Uw bericht</i>:</font><br>
   <textarea cols="50" rows="6" name="bericht"></textarea>
    </p>
  <p><input type="submit" name="submit" value="verzenden" /></p>
  </form>
De php code:
PHP:
<?php

$mailTo = 'Mailadres <mail@domein.nl>';
$mailFrom = 'Website bezoeker <mail@domein.nl>';
$mailInput = 'email';
$submitButton = 'submit';
$mailSubject = 'Vraag via de website';
$messageHeader = 'Onderstaand bericht is via de website verzonden:';
$succesURL = 'MailVerzonden.html';
$failURL = 'MailNietVerzonden.html';

$messageBody = $messageHeader;
$inputEmpty = true;
$headers = '';

foreach($_POST as $key => $value) {
	if ($key != $submitButton) {
		$messageBody .= "\n".$key.': '.$value;
		if (!empty($value)) {
			$inputEmpty = false;
		} // end if
	} // end if
} // end foreach

if (!$inputEmpty) {
	if (!empty($_POST[$mailInput]) && !preg_match(' /[\r\n,;\'"]/ ', $_POST[$mailInput])) {
		$headers .= "From: ".$_POST[$mailInput]."\n";
	} // end if
	else {
		$headers .= "From: $mailFrom\n";
	} // end else
	$headers .= "Cc: $mailCC\n";
	$headers .= "Bcc: $mailBCC\n";
	$headers .= "Return-path: $mailTo";
	if(@mail($mailTo, $mailSubject, $messageBody, $headers)) {
		header('Location: '.$succesURL);
	} // end if
	else {
		header('Location: '.$failURL);
	} // end else
} // end if
else {
	header('Location: '.$failURL);
} // end else
?>
 
Laatst bewerkt:
Dit is een mailscriptje dat ik gebruik
je kan he dan aanpassen zoals je wil maar dan heb je toch een voorbeeld
Hier word nagekeken dat de naam minsten 3 tekens lang is,
email uit de juiste opbouw is, het telefoonnr enkel uit cijfers bestaat en tussen de 6 en 14 tekens lang is en dat er een bericht ingegeven is van minstens 3 karakters lang.
Je kan dit als basis gebruiken en dan eventueel uitbreiden

ik hoop dat je er wat aan hebt

PHP:
<table border="0">
  <tr>
    <td>
      <?php 
     if(isset($_POST['Submit'])){ 

       //HTML- en PHP-Tags uit de invoervelden verwijderen 
       $naam=strip_tags($_POST['naam']); 
       $email=strip_tags($_POST['email']); 
       $bericht=strip_tags($_POST['bericht']); 
          
       if(strlen($naam)<3){ 
       $error_msg.="--> U bent uw naam vergeten.<br>Of uw naam is te kort.<br>"; 
       } 
       if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$email)){ 
       $error_msg.="--> Uw e-mailadres is niet geldig.<br>"; 
       } 
       if(!ereg("^([_0-9-]{6,14})$",$telefoon)){ 
       $error_msg.="--> Uw telefoonnr is niet geldig.<br>"; 
       } 
       if(strlen($bericht)<3){ 
       $error_msg.="--> U hebt uw bericht niet ingegeven.<br>Of het bericht is te kort.<br>"; 
       } 
       if(isset($error_msg)){ 
       //Een van de velden is niet juist ingevuld 
       echo "Uw bericht is niet verzonden om volgende reden:<br><br>"; 
       echo $error_msg; 
       echo "<br> <a href=javascript:history.back(1)>Klik hier</a> en verbeter uw formulier aub."; 
       }else{ 
       //Alle velden ingevuld - eMail genereren - vul eigen e-mailadres in achter $recipient 
       $recipient="UW_MAILADRES@mail.be"; 
        
       $subject="Een berichtje van de websie (contactpagina)"; 
       $header="From: " . $email . "\r\n"; 
       $mail_body ="Het formulier is verzonden op " . date("d-m-Y") . " om " . date("H:i") . " hr.\n"; 
       $mail_body.="--------------------------------------------------\n"; 
       $mail_body.="Het bevat de volgende inhoud:\n\n"; 
       $mail_body.="Naam: " . $naam . "\n";
       $mail_body.="Voornaam: " . $voornaam . "\n"; 
       $mail_body.="Telefoon: " . $telefoon . "\n"; 
       $mail_body.="Gemeente: " . $gemeente .  " / Postnr: " . $postnummer . "\n";
       $mail_body.="Straat: " . $straat .  " / Huisnr: " . $huisnummer . "\n";
       $mail_body.="eMail: " . $email . "\n"; 
       $mail_body.="--------------------------------------------------\n"; 
       $mail_body.="Bericht:\n"; 
       $mail_body.=$bericht . "\n\n --------------------------------------------------"; 
      
       mail($recipient,$subject,$mail_body,$header); 
       //Formulier verzonden - melden 
       echo "Bedankt voor uw berichtje<br>We zullen u zo snel mogelijk een antwoord toezenden."; 
       } 
     }else{ 
     //Formulier nog niet verzonden - Formulier weergeven 
     ?> 

<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">      
        <table width="425" border="0" cellpadding="2" cellspacing="2">
          <tr> 
            <td width="150">Uw naam :</td>
            <td width="240"> 
              <input type="text" name="naam" size="30">            </td>
            <td width="10">*</td>
          </tr>
          <tr> 
            <td>Uw voornaam:</td>
            <td><input type="text" name="voornaam" size="30"></td>
            <td>&nbsp;</td>
          </tr>
          <tr> 
            <td>Uw telefoonnr:</td>
            <td><input type="text" name="telefoon" size="30">            </td>
            <td>*</td>
          </tr>
          <tr> 
            <td>Gemeente / Postnr:</td>
            <td><input type="text" name="gemeente" size="25">
              / 
              <input type="text" name="postnummer" size="6" maxlength="6"></td>
            <td>&nbsp;</td>
          </tr>
          <tr> 
            <td>Straat / huisnr:</td>
            <td><input type="text" name="straat" size="25">
              / 
              <input type="text" name="huisnummer" size="6" maxlength="6"></td>
            <td>&nbsp;</td>
          </tr>
          <tr> 
            <td>Uw e-mailadres:</td>
            <td><input type="text" name="email" size="30">            </td>
            <td>*</td>
          </tr>
          <tr> 
            <td valign="top">Uw bericht:</td>
            <td valign="top"> <textarea name="bericht" cols="27" rows="5"></textarea>            </td>
            <td valign="top">*</td>
          </tr>
          <tr> 
            <td>&nbsp;</td>
            <td><input type="submit" name="Submit" value="Verzenden"> <input name="reset" type="reset" value="Opnieuw"></td>
            <td>&nbsp;</td>
          </tr>
        </table> 
      </form> 
      <?php 
      } 
      ?> 
</td>
  </tr>
</table>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan