2016-05-05 3 views
0

Ich habe Probleme, ein HTML-Datum in ein MySQL-Datum zu konvertieren.Von der Eingabe des HTML-Datums in das MySQL-Datumsformat über PHP

Ich habe ein Formular mit einem Eingabefeld (type = „date“), das gibt ein Datum im Format 29/04/2015

Immer, wenn ich auf der Schaltfläche Senden klicken, ich das Datum über PHP senden eine Datenbank, die eine Spalte im DATE-Format hat (2015-04-29)

Leider ist das Ergebnis, dass das Datum immer als 1970-01-01 gespeichert wird, was bedeutet, dass die Konvertierung nicht wie erwartet funktioniert hat.

Mein Conversion-Code, gerade jetzt, ist:

@$entryDate = str_replace("/", "-", $_POST['entryDate']); 
@$entryDate = date('Y-m-d', strtotime($entryDate)); 

Haben Sie eine Ahnung, warum die Umwandlung nicht funktioniert?

Vielen Dank für Ihre Hilfe

+1

[funktioniert für mich] (https://eval.in/565709). Dein Fehler liegt woanders. Und loswerden der '@'. Das ist einfach schlecht. –

+0

uhm das ist sehr merkwürdig ... Ich denke, dann ist das Problem im $ _POST ['entryDate']? Um das Datum zu erhalten, verwende ich Irgendwelche Idee? – AlexKalopsia

+0

Was zeigt 'echo $ _POST [' entryDate ']; 'show? FYI, das sollte das Erste sein, was du getan hast, um das zu debuggen. –

Antwort

0

HTML5 nicht wirklich ist/voll in allen aktuellen Browsern unterstützt.

Aber wenn Sie darüber hinausgehen können, gibt die Eingabemethode Ihnen ein Datum im Format "YYYY-MM-DD" (unabhängig von der Lokalisierung der Anzeigereihenfolge in der Darstellung für den Benutzer im Browser), nein müssen sie in mysql überhaupt konvertieren. Aber validiere es als gültige Eingabe, insb. Angesichts der fehlenden Unterstützung in einigen Browsern (und einmal ist es nicht nur IE, Firefox hat auch Probleme mit diesem).

Siehe auch Is there any way to change input type="date" format?

Verwandte Themen