In HTML selbst gibt es keine Standardmethode zum Einfügen des heutigen Datums in das Eingabefeld. Wie jedes andere Eingabefeld akzeptiert es jedoch einen Wert.
Mit PHP können Sie das heutige Datum abrufen und in das Wertefeld des Formularelements eingeben.
<?php
// Fetch the year, month and day
$year = date(Y);
$month = date(m);
$day = date(d);
// Merge them into a string accepted by the input field
$date_string = "$year-$month-$day";
// Send to the browser the input field with the value set with the date string
echo "<input type='date' value='$date_string' />";
?>
Das Wertefeld akzeptiert das Format JJJJ-MM-TT als Eingabe. Erstellen Sie also einfach eine Variable $date_string
im selben Format, das der Eingabewert akzeptiert, und füllen Sie sie mit dem Jahr, dem Monat und dem Tag, die vom heutigen Datum und Voilá abgerufen wurden. Sie haben selbst ein vorausgewähltes Datum!
Hoffe das hilft :)
Bearbeiten:
Wenn Sie möchten, dass das Eingabefeld nicht in PHP, sondern in HTML verschachtelt ist, können Sie Folgendes tun.
<?php
// Fetch the year, month and day
$year = date(Y);
$month = date(m);
$day = date(d);
// Merge them into a string accepted by the input field
$date_string = "$year-$month-$day";
?>
<html>
<head>...</head>
<body>
<form>
<input type="date" value="<?php print($date_string); ?>" />
</form>
</body>
</html>
Mir ist klar, dass diese Frage vor einiger Zeit gestellt wurde (vor 2 Jahren), aber ich habe noch eine Weile gebraucht, um eine eindeutige Antwort im Internet zu finden. Dies dient also jedem, der nach einer Antwort sucht, wann immer es sein mag, und hoffe es hilft allen sehr :)
Noch eine Bearbeitung:
Fast vergessen, etwas, das in der Vergangenheit für mich ein königlicher Schmerz war, ist immer zu vergessen, die Standardzeitzone festzulegen, wenn ein Skript in PHP erstellt wird, das die Funktion date () verwendet.
Die Syntax lautet date_default_timezone_set(...);
. Die Dokumentation finden Sie hier auf PHP.net und die Liste der unterstützten Zeitzonen, die in die Funktion eingefügt werden sollen, finden Sie hier . Das war immer ärgerlich, da ich in Australien bin. Alles wird immer 10 Stunden zurückgeschoben, wenn ich dies nicht richtig eingestellt habe, da es standardmäßig UTC + 0000 ist, wo ich UTC + 1000 benötige. Sei also vorsichtig :)