Ankündigung

Einklappen
Keine Ankündigung bisher.

Datumsfeld zeigt immer das aktuelle Datum

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datumsfeld zeigt immer das aktuelle Datum

    Hallo Leute,

    bin PHP Anfänger und heute den ersten Tag hier.

    Ich habe ein Problemchen bei dem Ihr mir sicherlich helfen könnt. Ich habe ein Formular geschrieben welches Daten an eine Mysql Datenbank weitergeben soll. Funktioniert alles super nur das Datum ist etwas voreilig. Im Inputfeld für das Datum steht immer das heutige Datum, welches ich löschen muss wenn kein Datum übergeben werden soll. Ich hätte gern ein leeres Inputfeld in dem ich das Datum selbst eintragen kann.
    Danke für Eure Mühe im Voraus.


  • #2
    Damit wir Dir da bei der Fehlersuche helfen können müsstest du uns aber schon zeigen, was du geschrieben hast.

    Kommentar


    • #3
      Irgendwer schreibt es ja ins Formular...
      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

      Kommentar


      • #4
        Sorry


        <tr>
        <td>Geburtstag</td>
        <td text align="center" >:</td>
        <td>
        <label>
        <input class="auswahl" type="text" name="admingeb"
        value="<?php if ('0000-00-00' !== $ladeAdmin['admingeb']) {
        $gbad = new DateTime( $ladeAdmin['admingeb'] );
        echo htmlspecialchars( $gbad->format( "d.m.Y" ) );
        } ?>">
        </label>
        </td>
        </tr>

        Kommentar


        • #5
          Das Feld in der Datenbank ist leer und trotzdem wird das aktuelle Datum ausgegeben. Wenn ich das Formular speichere wird das aktuelle Datum in die Datenbank geschrieben. Das war aber nicht mein Ziel. Da es eingetragen wird wenn ich vergesse es zu löschen kommt es zu einen Durcheinander mit den Daten.

          Kommentar


          • #6
            Das Feld in der Datenbank ist leer
            Was steht in $ladeAdmin['admingeb'] zum Zeitpunkt der Ausführung?
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              da wird über var_dump NULL ausgegeben

              Kommentar


              • #8
                es steht aber im Eingabefeld das heutige Datum. wenn ich speicher wird dieses der Datenbank übergeben und var_dump bringt"2019-02-11"

                Kommentar


                • #9
                  Das ist logisch. Wenn dort NULL steht geht er in den if-Teil rein. Dort erstellst du dann ein neues DateTime-Objekt, wenn dort der Übergabeparameter NULL ist wird das aktuelle Datum genommen.
                  Du musst im if also noch um
                  PHP-Code:
                  !empty($ladeAdmin['admingeb']) 
                  erweitern

                  Kommentar


                  • #10
                    Grundsatz beim Debugging: Baue nicht auf Vermutungen (Das Feld in der Datenbank ist leer) sondern prüfe, was WIRKLICH vorliegt (Was steht in $ladeAdmin['admingeb'] zum Zeitpunkt der Ausführung? da wird über var_dump NULL ausgegeben)
                    Dann überprüfe deine Logik (if ('0000-00-00' !== $ladeAdmin['admingeb']) bzw. if ('0000-00-00' !== NULL) ? aha... )
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Danke, ich muss erst mal weg. Bis später!

                      Kommentar


                      • #12
                        so, wieder da

                        Kommentar


                        • #13
                          momentan kann ich nicht folgen wie Ihr das meint

                          Kommentar


                          • #14
                            Dann folge mal den beiden Links:
                            https://php-de.github.io/jumpto/leitfaden/
                            https://php-de.github.io/jumpto/eva-prinzip/

                            Vielleicht geht dir dann ein Licht auf.

                            Kommentar


                            • #15
                              meinst Du das so??


                              PHP-Code:
                                'admingeb' => !empty( $_POST['admingeb'] ) ? DateTime::createFromFormat'd.m.Y'$_POST['admingeb'] )->format'Y-m-d' ) : ''

                              Kommentar

                              Lädt...
                              X