Check niet verplicht veld of geboorte datum juist is en naar database
Door
Hans De Ridder
op 02-03-2016 16:39
gewijzigd op 02-03-2016 16:41
4.269 views
Ik ben met een registratieformulier bezig.
Daarin staat ook een veld voor het invullen van de geboortedatum.
Dit is niet verplicht.
Maar als er iets ingevuld wordt moet wel beoordeeld worden of het een juiste weergave is.
Ongeveer in de vorm 1951-12-09.
Dus geen datum naar voren, te ver naar achter, of een 13e maand, een 33 juli, of een 30 februari.
Als de datum akkoord is, dan moet het naar de database (mysql) worden geschreven.
De verschillende checkfuncties komen in een map 'include'.
Ik ben heel wat scriptjes tegen gekomen, maar werken niet zoals ik het wil.
Ben er ook poosje uitgeweest, zodat ik minder op de hoogte ben van de nieuwste functies in PHP
Iemand die mij verder kan helpen
Ik ben geen expert, maar ik doe het als volgt voor een datum in het veld $input in het formaat dd-mm-jjjj:
if ( !preg_match( '#^([0-3][0-9])-([0-1][0-9])-((19|20)[0-9]{2})$#', $input, $aM )
or !checkdate( $aM[2], $aM[1], $aM[3]) ) {
$aErrors[$veld] = $veld . ' is ongeldig (dd-mm-jjjj)';
}
De preg_match doet een ruwe controle en de met het resultaat in array $aM doet de checkdate een controle op geldige datum.
Maar misschien kan het beter.
Bedankt voor jullie reactie.
De eerste lijkt te werken wat checken betreft.
Maar als ik het uitlees komt er bij elke datum te staan 1970-01-01.
En ik krijg het ook (nog) niet werkend naar mijn database toe.
Ik zou het moeten opslaan in de mysql database tabel onder 'birth'. Aangegeven als Date.
In php staat het onder $birth.
Ik ben met een registratieformulier bezig.
Daarin staat ook een veld voor het invullen van de geboortedatum.
Dit is niet verplicht.
Maar als er iets ingevuld wordt moet wel beoordeeld worden of het een juiste weergave is.
Ongeveer in de vorm 1951-12-09.
Dus geen datum naar voren, te ver naar achter, of een 13e maand, een 33 juli, of een 30 februari.
Als de datum akkoord is, dan moet het naar de database (mysql) worden geschreven.
De verschillende checkfuncties komen in een map 'include'.
Ik ben heel wat scriptjes tegen gekomen, maar werken niet zoals ik het wil.
Ben er ook poosje uitgeweest, zodat ik minder op de hoogte ben van de nieuwste functies in PHP
Iemand die mij verder kan helpen