Scripts

Mail formulier error afhandeling.

Deze "script" werkt gewoon. Ik adviseer je nadruklijk alles aan je eigen website aan te passen. Omdat dit gewoon een zeer basic mail formulier is en alles als voorbeeld is

mail-formulier-error-afhandeling
<?php
//controleer manier van verzenden
if($_SERVER['request_method']=='POST')
  {
  //controleer of alles is ingevuld. 
  //waarom gebruik ik hier geen isset/empty simpel de cijfer 0 is ook niets. 
  if(($_POST['var1'] != '') AND ($_POST['var2']==''))
     {
      //we mailen alles met je eigen mail script/functie/sql enz... Je kan dit bij alle mailformulieren doen. Wil je het uit breiden. Gewoon nog een "AND ($_POST['lalal']=='') voor het laatste haakje plaatsen )
     //we trapen de bezoekers door naar de bedankpagina
     header("location: volgende pagina");
     //we stoppende script
     exit();
     }
  else
     {
        //de controle van de variable
        if($_POST['var1']== "")
        {
            $error['1'] = 1;
        }
        if($_POST['var2']== "")
        {
            $error['2'] = 1;
        }
      }
}
//we weten nu als de "request via de post gaat dat er een error is.
if($_SERVER['request_method']=='POST')
  {
  echo '<div class="error">Er is een fout op getreden met het verzenden van de inhoud van je forumlier omdat je de volgende velden bent vergeten.<ul>';
  //echo alle fouten van boven. Je kunt gewoon meerdere fouten toe voegen
if(!empty($error['1'])){
 echo '<li>Je bent je naam vergeten</li>';
}
if(!empty($error['2'])){
 echo = '<li>Je bent je email vergeten</li>';
}
echo '<ul></div>';
}
//hier komt je mailformulier. 
echo '<form action="'.$_SERVER['php_self'];.'" method="post">\n';
if(!empty($error['1'])){
 echo '<div class="error">Je bent je naam vergeten</div>';
}
echo 'Naam: <input name="var1" value="'.$_POST['var1'].'" type="text"/>';
if(!empty($error['2'])){
 echo = '<div class="error">Je bent je email vergeten</div>';
}
echo 'Email: <input name="var2" value="'.$_POST['var2'].'" type="text"/>';
echo '<input type="submit" value="verzenden"/></form>';
?>

Reacties

0
Nog geen reacties.