Geboortedatum checken

Status
Niet open voor verdere reacties.

ajaxjoel

Gebruiker
Lid geworden
2 mei 2008
Berichten
327
Hi all,

Ik ben een inschrijfformulier aan het maken, en ik wil graag controleren of de datum die ze invullen als geboortedatum klopt.

Zo dat ze bijvoorbeeld niet kunnen invullen

53-21-1004

Ik wil dat ze bij dag niet hoger dan 31 kunnen invullen, bij maand niet meer dan 12
en bij jaar tussen 1950 en 2011 of zo.

En het liefst ook dat ze geen letters kunnen invullen (alleen cijfers dus)

Iemand die mij hier bij kan helpen ?

Groet Joel
 
Je kan het met JavaScript doen of met PHP

voorbeeld uit php:
PHP:
<?php
   list($d, $m, $y) = explode(" - ",$dob);
   if(!$d < 32 OR !$d > 0){
      //dag klopt
   }else{
      print "Foute invoer gevonden.";
   }
?>
Niet getest!!
 
PHP:
   if(!$d < 32 OR !$d > 0){

Deze regel moet
PHP:
if ($d < 32 && $d > 0){
zijn.

Al zou ik gewoon checkdate gebruiken. Dat is een stuk makkelijker :). Wel moet je het jaartal nog handmatig controleren als je wilt dat het tussen 1950 en 2011 ligt.
 
Laatst bewerkt:
Hoe kan ik dat toepassen in mij script dan ?
ik heb $datum1 voor de dag, $datum2 voor de maand en $datum3 voor het jaar
 
PHP:
if (!checkdate($datum2, $datum1, $datum3) || $datum3 < 1950 || $datum3 > 2011)
{
  echo "Ongeldige datum";
}
else
{
  echo "Goede datum";
}
 
Waarom maak je niet 3 dorpdownboxen
1ste met dagen, vul je met getallen 1 => 31
2de met maanden, en dan gebruik je value voor de cijfer en je geeft de maand namen weer,
3de vult je met date('Y') tot - 61.
dan hoe je alleen te kijken of de opgegeven dag wel in die maand voor komt (30 of 31 dagen)
 
Zou inderdaad ook een goede oplossing zijn
Maar ik vind dit iets mooier
Past beter bij mijn site

Het is trouwens gelukt :)
 
Waarom maak je niet 3 dorpdownboxen
1ste met dagen, vul je met getallen 1 => 31
2de met maanden, en dan gebruik je value voor de cijfer en je geeft de maand namen weer,
3de vult je met date('Y') tot - 61.
dan hoe je alleen te kijken of de opgegeven dag wel in die maand voor komt (30 of 31 dagen)

Dit voorkomt dat iemand per ongeluk een verkeerde datum invoert, maar het is geen waterdichte oplossing. Het is nog steeds mogelijk voor een grapjas om een rare (ongeldige) datum invoeren. Je moet dus altijd achteraf nog een controle op de invoer uitvoeren.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan