De datum in je database
ik hen een vraagje om een datum goed in mijn database te krijgen.
De hele tijd werd de ingevulde datum als 0000-00-00 weergegeven in de database.
Nu heb ik een stukje code geschreven en word de ingevulde datum als 1970-01-01 gegeven.
Terwijl ik dit als niet heb ingevuld.
kunt iemand mij hierbij helpen?
mvg, richard.
$geboortedatum = $_POST['geboortedatum'];
$date = str_replace('/','-',$geboortedatum);
$your_date = date('Y-m-d',strtotime($date));
$sql="INSERT INTO registratie (voornaam,tussenvoegsel,achternaam,geboortedatum,straatnaam,huisnummer,toevoeging,postcode,plaatsnaam,land,bedrijfsnaam,telefoonnummer,mobielenummer,email,wachtwoord,bevestigwachtwoord) VALUES('$voornaam','$tussenvoegsel','$achternaam','$your_date','$straatnaam','$huisnummer','$toevoeging','$postcode','$plaatsnaam', '$land','$bedrijfsnaam','$telefoonnummer','$mobielenummer','$email','$wachtwoord','$bevestigwachtwoord')";
Laat ik gokken op 08/10/2014
Dan
Code (php)
1
2
3
4
2
3
4
<?php
$date = datetime::createfromformat('d/m/Y', $_POST['geboortedatum']);
$your_date = $date->format('Y-m-d');
?>
$date = datetime::createfromformat('d/m/Y', $_POST['geboortedatum']);
$your_date = $date->format('Y-m-d');
?>
Dan werkt het waarschijnlijk ook voor datum < 1970, wat voor geboortedatum niet raar is.
Gewijzigd op 08/10/2014 14:57:06 door Ivo P
In geboortedatum staat wat er in dat tekstveld is ingevuld. Het komt af van een aanmeldingsformulier.
Ja, dat snap ik.....
Maar wat wordt er ingevuld? Ik neem toch aan dat je daar een bepaald formaat van vereist?
"derde zondag na kerst in de winter van '65" is ook een aanduiding, of "bij volle maan in janauri 2000"
2014-10-08, 2014/8/10 081014, 08102014 kan ook iets aanduiden.
Code (php)
1
2
3
4
2
3
4
<?php
$date = datetime::createfromformat('d/m/Y', $_POST['geboortedatum']);
$your_date = $date->format('Y-m-d');
?>
$date = datetime::createfromformat('d/m/Y', $_POST['geboortedatum']);
$your_date = $date->format('Y-m-d');
?>
inplaats van 02/28/1995 komt er 1997-04-02 in mijn database te staan???
daarbij staat de maand dus als 2e
bij jouw formaat zou dat dus maand 28 zijn. Dat is dus 24 maanden (=jaar) en dan nog 4 maanden na het beging van 1995
in jouw geval lijkt 'm/d/Y' dus meer op zijn plaats.
Wel dus zaak dat je je gebruikers ook goede instructies geeft.
Alternatief :
en dan hopen op een goede herkenning door php van het datum formaat.
IK ik heb in javascript een datepicker() gebruikt. Dus in $_POST['geboortedatum'] komt een datum in te staan zoals 02/28/1995 in te staan. alleen in mijn database staat natuurlijk een amerikaanse versie van zn datum.
Met de laatste code is het gelukt. Bedankt voor uw uitleg!
http://plaintextoffenders.com/ aangezien die code van je sterk suggereert dat je wachtwoorden onveilig opslaat.
Zou je zou aardig willen zijn om of een url te geven, of op dit forum vragen hoe je veilig wachtwoorden opslaat?
I zou je website graag aan willen geven bij Zou je zou aardig willen zijn om of een url te geven, of op dit forum vragen hoe je veilig wachtwoorden opslaat?
Om meteen een site aan te willen geven bij een schandpaal-site is iets te rigoureus nietwaar?
Iemand anders heeft de constructieve aanpak al geprobeerd trouwens: http://www.phphulp.nl/php/forum/topic/inlog-systeem-in-php/96034/#690093
Als je via PHPHulp's zoek functionaliteit zoekt naar 'password' kom je op het moment http://www.phphulp.nl/php/forum/topic/beste-password-encryption/95805/ tegen.