Form mit input type date prüfen ob Datum, heute ist.

  • PHP

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Orion.

    Form mit input type date prüfen ob Datum, heute ist.

    Guten Tag Zusammen

    Hab wieder eine Frage bezüglich meiner Webapp.
    Ich hab ein Formular zum Erstellen eines Datensatzes. Mit dem man Termine erstellt. Wenn ein Termin älter ist als heute wird er automatisch aus den Terminen in eine Tabelle Namens "History" verschoben welche dann nicht mehr genutzt werden.

    Nun zum eigentlichen Problem. Ich möchte verhindern das der User beim Eingeben eines neuen Datensatzes ein altes Datum eingibt und so einen unnötigen Datensatz erstellt. Wie kann ich zur Laufzeit eine Warnung ausgeben das das Datum in der Vergangenheit liegt?

    Die Input Felder sind mit dem HTML5 datetimepicker und einem Polyfill für IE ausgestattet, denke aber das ist nicht so wichtig oder? schlussendlich muss doch beim verlassen des Datumsfelds geprüft werden, so wie ich mir das vorstelle. Meine bisherigen Versuche waren nicht wirklich so dynamisch.

    HTML-Quellcode

    1. <div class="form-group">
    2. <label>Termin:</label>
    3. <input id="termin" type="date" class="form-control" name="Termin" data-format="dd.MM.yyyy" /><br />
    4. </div>
    5. <?php
    6. if (strtotime(date("dd.MM.yyyy 00:00:00") > strtotime($_POST['Termin']))) {
    7. echo "<div style='color:red;background-color:yellow; width:100%;'>ACHTUNG: Ihr Termin liegt in der Vergangenheit</div>";
    8. } else {
    9. echo"<div></div>";
    10. }
    11. ?>
    Metal-Schweiz wurde nun offiziell veröffentlich nach all den Jahren :)

    Hi,

    nix leichter als das: stackoverflow.com/questions/83…is-in-the-past-javascript

    Trotzdem musst du das zwangsläufig am Server (also mit PHP) nochmal prüfen. Weil JavaScript kann ja deaktiviert sein oder was auch immer.

    Link :thumbup:
    Hello World
    Danke Link, das mit der PHP Prüfung wird nicht nötig sein ^^ die Webapp ist auf bestimmte Anforderungen zugeschnitten. Falls sich was an der Software selber ändert was nicht beeinflusst werden kann wird das im Nachhinein gefixt.
    EDIT: Ehm, das ist ja jetzt die direkte JS Funktion oder? :/ bei HTML5 sagt er mir das .datepicker keine Funktion wäre
    EDIT2: Im IE geht der Polyfill gar nicht mehr sobald das Script drin ist.
    Metal-Schweiz wurde nun offiziell veröffentlich nach all den Jahren :)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Orion“ ()

    Wieso mit Javascript arbeiten, wenn man dann 3 mal überprüfen muss, ob es aktiviert ist...

    Ganz einfach:

    PHP-Quellcode

    1. ​$zeit = date("dd.MM.yyyy 00:00:00");
    2. if ($zeit > $_POST['Termin']) {
    3. echo "<div style='color:red;background-color:yellow; width:100%;'>ACHTUNG: Ihr Termin liegt in der Vergangenheit</div>";
    4. } else {
    5. echo"<div></div>";
    6. }


    Versuch mal die Strings zu vergleichen.
    Hat sich erledigt, haben ausgemacht das man selber schuld ist wenn man den Termin nicht ordentlich setzen kann. O.o
    Metal-Schweiz wurde nun offiziell veröffentlich nach all den Jahren :)