wieder mal option-tag



  • er kann sich ja einfach z.B. die Seite speichern, etwas ändern und dann neu laden und das Formular verschicken (du könntest, um dies zu verhindern natürlich auch den Referer überprüfen)

    Bei deiner Lösung sollte es ansonsten kein Problem geben, es kann nur sein, dass eben am Ende mal ein Tag zuviel ist (stört aber ja wohl nicht)

    Ich finde aber eine so lange Auswahlliste nicht gerade übersichtlich und einfach / schnell bedienbar! Du könntest doch auch z.B. ein einfaches Input-Feld nehmen. Dann musst du die Eingabe halt noch parsen und ggf. nachfragen 🙄



  • @flenders, bitte auch nochmal auf mein anderes Problem eingehen (weiter oben geschildert).... ich sitz da jetzt schon ewig dran und bin einfach zu blöd es sauber zu lösen....



  • Also ich versteh dein Problem noch nicht so ganz 😕
    Bei mir schwankt es nur aufgrund, von Sommer-/Winterzeit mal 1 Stunde nach vorne (1 Uhr), aber das ist ja kein Problem bzw. ließe sich ja auch beheben 😉

    Schildere nochmal, was genau jetzt nicht funktioniert 🙄



  • ich versuchs mal anhand eines Beispiels zu erklären:
    Ich wähle in meinem <select>-menu (der code wie ich es erzeuge steht weiter oben) z.B. das Datum 14.03.2003

    in meiner Datenbank wird dann folgender Sekundenwert gespeichert: 1050274800

    Gebe ich den Datenbank-Wert folgendermaßen aus...

    <?php

    echo date("h:i:s d.m.Y", 1050274800);
    ?>

    ...bekomme ich als Ergebnis: 01:00:00 14.04.2003

    Wie bekomme ich den Stundenwert weg??? Ich will ein Ergebnis ohne Stunden-, Minuten-, Sekundenwert!
    MfG

    Tobsen



  • Nimm z.B. einfach gmmktime und gmdate, dann bist du das Problem mit Sommer-/Winterzeit los 😉 Oder meinst du was anderes 😕



  • Nein, daran liegt es nicht. Durch Tests habe ich herausgefunden, dass der Fehler in folgendem Codeabschnitt liegen muss!

    <SELECT name="arrival_date">
                  <?php
                    $daystart = gmmktime(0,0,0,date("m"),date("d"), date("Y"));
                    $dayend   = gmmktime(0,0,0,date("m"),date("d"), (date("Y")+1));
    
                    for($i = $daystart; $i <= $dayend; $i+=86400)
                    {
                     $currentday = date("d.m.Y", $i);
                     echo "<OPTION VALUE='".$i."'>".$currentday."</OPTION>";
                    }
                   ?>
                  </SELECT>
    

    Ich weiß aber nicht, was daran falsch sein soll!? An mktime liegt es nicht, da ich es schon mit mktime auf anderem Wege versucht haben und da hat es geklappt.
    Bitte helft mir. MfG

    Tobsen



  • Ich vermute übrigens, dass es irgendwie mit date() zusammenhängt...



  • Also du musst mir mal erklären, wo bei dir der Fehler auftauch bzw. was anders sein soll 🙄 Weil bei mir sah es so aus, als ob alles geklappt hätte 😕



  • ich glaube in folgender Zeile ist der Fehler:
    $daystart = mktime(0,0,0,date("m"),date("d"), date("Y"));

    hier bekomme ich ein Ergebnis, welches geteilt durch 86400 (sekunden eines Tages) ein ungerades Ergebnis liefert. Das heißt, dass darin auch noch Stunden, Minuten oder Sekunden enthalten sind und das darf nicht sein, da sonst meine weitere berechnung mit diesen WErten nicht funktioniert.
    MfG

    Tobsen



  • Dann nimm halt gmmktime! Bei mir klappt es damit zumindest 😉



  • Mit Zeiten ist es wirklich nicht so einfach.

    Durch Winter-Sommerzeit, wird das alles verschoben und durch die verschiedenen Zeitzonen der Erde auch (01.01.1970 war bei uns eine Stunde früher, als zur GMT).



  • ob ich gmktime nehme oder mktime spielt keine Rolle, das Ergebnis bleibt immer gleich falsch. Ich weiß jetzt nimmer, was man noch machen könnt vielleicht folgendes?

    $daystart = ((INT)(mktime(0,0,0,date("m"),date("d"), date("Y"))/86400))*86400;

    ....aber das geht wohl auch net,...oder?



  • Poste nochmal deinen Code mit gmmaketime, weil bei mir kommt bei einem Modulo immer 0 raus 😕



  • das Problem hat sich dank flenders hilfe geklärt. gmmktime ist die Lösung gewesen. Hab da bei meiner Kontrolle en kleinen Fehler gemacht. Trotzdem danke!!


Anmelden zum Antworten