[PHP] Timestamp Problem

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Bomberpilot, 2. Mai 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 2. Mai 2008
    Timestamp Problem

    Moinsen!

    Auch auf die gefahr hin das es ne Meta-Frage ist, ich habs nicht geschafft (aber durchaus intensiv probiert) mir die Lösung selbst anzueignen...

    Ich habe ein Formular in das man ein Datum eingibt, anschliessend wir das datum in einen timestamp umgewandelt und mit einem vorgegeben timestamp verglichen. Den vorgegeben timestamp habe ich mir zuvor für den 01.03.2008 über das formular und ausgabe des timestamps für 01.03.2008 ausgeben lassen (lokal, xampp).
    ist das eingegeben datum (der timestamp) größer als der vorgegebene timestamp wird die mysql abfrage ausgeführt.

    Problem: Der Timestamp für den 01.03.2008 ist auf dem Server ein anderer als der lokal generierte.
    Lokal: 1204326000 Server: 1156802400
    Woran liegt das? und wie kann ich das richten?
    ( time() gibt übrigens lokal wie auf dem server den gleichen timestamp zurück)

    Zusätzliches Problem: Lokal kann ich das datum in der Form 01.03.2008 eingeben, auf dem Server muss ich 01-03-2008 schreiben ansonsten ist der timestamp "-1"...?

    der zuständige code-schnipsel:
    PHP:
    $date  htmlspecialchars ( $_POST [ 'date' ]);
    if (
    $_POST [ 'date' ]== "" ) { die ( "Du musst schon ein Datum eingeben..." ); }
    $begin  strtotime ( $date ); 
    echo 
    "<br/>" . $begin . "<br/>" ;
    echo 
    time ();
    if (
    $begin  <=  "1204326000" ) { die ( "Das Datum liegt etwas weit zurück..." ); }
    //der restliche mysql-kram
    ich sitz jetzt schon knapp ne stunde vor google, php.net usw.... ich raffs nitt oder bin zu müde.
    Hilft mir wer, bitte?

    gruß bomberpilot
     
  2. 2. Mai 2008
    AW: Timestamp Problem

    deswegen solltest du immer ganz oben das hinschreiben:
    PHP:
    error_reporting ( E_ALL | E_STRICT );
    denn dann müsstest du nach dem fehler garnet suchen, weil er dir gesagt wird: PHP: date_default_timezone_set - Manual

    PHP:
    date_default_timezone_set ( 'Europe/Berlin' );
     
  3. 2. Mai 2008
    AW: Timestamp Problem

    alternative könnte sein mktime() zu benutzen
     
  4. 2. Mai 2008
    AW: Timestamp Problem

    uh E_STRICT kannte ich gar nicht, dachte immer E_ALL würde alle Fehler anzeigen...das hab ich auch immer oben drüber stehen.

    Tja dann muss ich wohl dem server mal ein kleines php-update verpassen, da läuft nämlich noch php4 und damit funktioniert die function nicht. aber da ich das eh demnächst vorhatte such ich gar nicht erst nach einer möglichkeit für php4.


    Zusätzliches Problem: Lokal kann ich das datum in der Form 01.03.2008 eingeben, auf dem Server muss ich 01-03-2008 schreiben ansonsten ist der timestamp "-1"...?

    ^^ könnt ihr mir da noch kurz nen Lösungsvorschlag machen bitte, oder ergibt sich das auch mit der installation von php5?
     
  5. 2. Mai 2008
    AW: Timestamp Problem

    ich denke das liegt daran, dass du lokal windows hast und auf dem server linux ist
    wie gesagt, ich würde mktime() benutzen...
     
  6. 2. Mai 2008
    AW: Timestamp Problem


    Hatte dieses problem auch vor kurzem lang daran das windows zwar einen timestamp genieren kann jedoch der "originale" von linux kommt also der richtig läuft.

    Eine timezone zu setzen tut man ansich bei der installation von linux daher bringt eine art importieren wie --> date_default_timezone_set('Europe/Berlin'); nicht wirklich was rosiges.

    Erfolgreich wirst du mit mktime()
     
  7. 2. Mai 2008
    AW: Timestamp Problem

    hab jetzt auf mktime() umgestellt... nu läuft alles wie es soll.
    vielen dank für die Hilfe!

    gruß
    Bomberpilot
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.