Hallo,
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')";
Link gekopieerd
Ivo P
08-10-2014 14:56
gewijzigd op 08-10-2014 14:57
Wat staat er in $_POST['geboortedatum']
Laat ik gokken op 08/10/2014
Dan
<?php
$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.
Link gekopieerd
In geboortedatum staat wat er in dat tekstveld is ingevuld. Het komt af van een aanmeldingsformulier.
Link gekopieerd
"In geboortedatum staat wat er in dat tekstveld is ingevuld."
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.
Link gekopieerd
bij deze code word er een andere geboortedatum ingevuld.
<?php
$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???
Link gekopieerd
ja, want zoals ik zeg: Laat ik "gokken op 08/10/2014"
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 :
<?php
$date = new datetime($_POST['geboortedatum']); ?>
en dan hopen op een goede herkenning door php van het datum formaat.
Link gekopieerd
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.
Link gekopieerd
Link gekopieerd
Met de laatste code is het gelukt. Bedankt voor uw uitleg!
Link gekopieerd
I zou je website graag aan willen geven bij
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?
Link gekopieerd
Of gewoon een constructieve replie geven hoe hij veilig wachtwoorden kan opslaan, gezien de topicstarter een beginner is. We zitten immers op PHPhulp!
Om meteen een site aan te willen geven bij een schandpaal-site is iets te rigoureus nietwaar?
Link gekopieerd