[b]MiniScript:[/b]
<?php
function my_checkdate ($date, $month = false, $year = false) {
  // als voor date, month en year cijfers zijn ingevuld
  if (is_int ($date) && is_int ($month) && is_int ($year)) {
    return checkdate ($month, $date, $year);
  }
  if (is_array ($date)) {
    if (count ($date) != 3) {
      return false;
    }
    else {
      return checkdate ($date[1], $date[0], $date[2]);
    }
  }
  if (is_string ($date)) {
    echo $date;
    $array = spliti ('[-\/\ ]', $date);
    return checkdate ($array[1], $array[0], $array[2]);
  }
}
?>

[b]Werking:[/b]
je kunt my_checkdate op drie manieren aanroepen:

1) met drie integer-argumenten in de volgorde dag - maand - jaar
<?php
$datum = 11;
$maand = 5;
$jaar = 1982;

if (my_checkdate ($datum, $maand, $jaar)) {
  echo '<p>okee</p>';
}
?>

2) met één array-argument. De array moet drie elementen hebben in de volgorde dag - maand - jaar
<?php
$datum = array (11,5,1982);

if (my_checkdate ($datum)) {
  echo '<p>okee</p>';
}
?>

3) met een tekststring in één van de volgende formats: dd/mm/yyyy, dd-mm-yyyy, of dd mm yyyy
(dus gescheiden door respectievelijk een slash, een min-teken, of een spatie)
<?php
$datum = '11/05/1982';

if (my_checkdate ($datum)) {
  echo '<p>okee</p>';
}

$datum = '11-05-1982';

if (my_checkdate ($datum)) {
  echo '<p>okee</p>';
}

$datum = '11 05 1982';

if (my_checkdate ($datum)) {
  echo '<p>okee</p>';
}
?>

Voor dagen en maanden kun/mag je voorloop-nullen weglaten, dus bijvoorbeeld 11/5/1982 zal ook werken. Hopelijk hebben jullie er wat aan en als er vragen/opmerkingen zijn, post ze dan hieronder.

groeten, Jan

p.s. Je kunt ook checken of iets een schrikkeljaar is, met bv:
<?php
  $schrikkeljaar = my_datecheck ('29-02-1984');
?>