Dit gaat goed.... in de user object, method saveNewUser, haal ik de veldwaardes op met bijvoorbeeld:
$fld_UserName = $HTTP_POST_VARS["fld_username"];
en sla deze waardes vervolgens op in de database. Dit werkt allemaal uitstekend... behalve voor dat datefield dat hierboven beschreven staat. Deze krijgt in de database waarde 0000-00-00
Het veld (MySQL db) is een veld van type 'date' geen default value.
Ik heb ook geprobeerd de volgorde van de velden in het form te veranderen (y-m-d) maar dat helpt uiteraard niet, dit is alleen visuele volgorde.
Ik haal de waarde op in de saveNewUser method als:
Het enige wat ik had hoeven doen is kijken naar de page-source van het form. Daarin had ik gezien dat fld_birthdate inderdaad gewoon 3 velden heeft, 'fld_birthdate_day' etc...
En de $_POST: ik had een kopietje gemaakt van hele oude code :-) Ben ook pas weer net bezig ermee. Grappig wel dat ik op internet een aantal maal lees dat php5 dit niet meer heeft, maar dat het nog wel werkt :-) Ik ga het wel even gelijk veranderen. Bedankt voor de pointers !!!
Changed at 13 July 08 / 10:47
Oke... aangepast. Ik heb ook maar gelijk gebruik gemaakt van de data array die meegegeven wordt.
class User
{
public function SaveNewUser( $postdata )
{
$dateparts = explode("-",$postdata["fld_birthdate"]);
$fld_DateOfBirth = date("Y-m-d",strtotime($dateparts[2]."-".$dateparts[1]."-".$dateparts[0]));
// Vervolgens $fld_DateOfBirth in database opslaan