De scripts heb ik gevonden bij phptuts.
Het gaat over de datum controle checkdate die ik in het eerste script wil invoegen.
<?php include('connect.php'); ?>
<div id="onlineboeking">
<?php
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
session_start();
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Zorgen dat de array met errors leeg is.
$_SESSION['errors'] = array();
$_SESSION['input'] = array();
// Velden in het formulier definiëren
$formuliervelden = array(
'dag'=> 'select',
'maand'=> 'select',
'jaar'=> 'select',
'tocht' => 'select',
'naam' => 'text',
'straat' => 'text',
'postcode' => 'text',
'woonplaats' => 'text',
'land' => 'text',
'telefoon' => 'text',
'telthuis' => 'text',
'geboortejaar' => 'select',
'lengte' => 'text',
'gewicht' => 'text',
'email' => 'text',
'fb' => 'text',
'mv' => 'radio',
'vlucht' => 'radio',
'idnummer' => 'text',
'akkoord' => 'checkbox'
);
// Velden waar geen controle op uitgevoerd hoeft te worden.
$no_check = array('idnummer');
// Loop alle elementen uit de $_POST array langs
foreach($formuliervelden as $veld => $type)
{
if($type == 'checkbox')
{
if(empty($_POST[$veld]) && !in_array($veld, $no_check))
{
$_SESSION['errors'][$veld] = true;
$errors[] = 'Je moet de checkbox "'.$veld.'" aanvinken';
}
else
{
$_SESSION['input'][$veld] = $_POST[$veld];
}
}
elseif($type == 'radio')
{
if(empty($_POST[$veld]) && !in_array($veld, $no_check))
{
$_SESSION['errors'][$veld] = true;
$errors[] = 'Kies een optie bij "'.$veld.'"';
}
}
else
{
if(isset($_POST[$veld]))
{
// Spaties voor en achter input verwijderen
$value = trim($_POST[$veld]);
// Ingevulde waarden in een sessievariabele zetten.
$_SESSION['input'][$veld] = $value;
// Controle van verschillende velden.
// Velden waar geen controle op uitgevoerd hoeft te worden overslaan.
if(in_array($veld, $no_check))
{
continue;
}
// Controle op geldige postcode (4 cijfers + 2 letters).
elseif($veld == 'postcode')
{
if(!preg_match('/^[0-9]{4}[[:space:]]?[a-z]{2}$/i', $value))
{
$_SESSION['errors'][$veld] = true;
$errors[] = 'Je hebt geen geldige postcode ingevuld.';
}
}
// Controle of rest van de velden ingevuld is.
else
{
if(empty($value))
{
$_SESSION['errors'][$veld] = true;
$errors[] = 'Je bent vergeten het veld '.$veld.' in te vullen.';
}
}
}
else
{
$errors[] = 'Het veld '.$veld.' ontbreekt aan het formulier';
}
}
}
[size=xsmall][i]Toevoeging op 26/06/2016 13:55:56:[/i][/size]
En nu het tweede dat ik wil invoegen in het eerste:
// Datum controle
if(isset($aData['maand'], $aData['dag'], $aData['jaar']) && checkdate($aData['maand'], $aData['dag'], $aData['jaar']))
{
$sDatum = $aData['dag'].'-'.$aData['maand'].'-'.$aData['jaar'];
}
else
{
$aErrors[] = 'Dit is geen geldige datum';
}
?>