Zeit im Tippspiel stimmt nicht obwohl Serverzeit des Webspace korrekt

Ich habe einen Blog Artikel verfasst - Wie benutze ich die Suche richtig - Bitte diesen beachten und auch umsetzen bevor Ihr ein Neues Thema eröffnet!

  • Hi Leute,


    bei mir stimmt seit einigen Wochen die Zeit im Tippspiel nicht, so dass User auch dann noch tippen können, wenn die Spiele längst laufen.
    Vor der Zeitumstellung hing das Spiel 1h hinterher, mittlerweile 2h.


    Eine Anpassung der config.inc von $timeoffset = 60*60; auf bsp.-weise $timeoffset = 60*60*(-1); brachte keinerlei Wirkung.


    Auch der Tipp aus einem anderen Thread mit Einfügen von date_default_timezone_set('Europe/Berlin'); in die config.inc hatte 0 Auswirkung.
    Am Tippspiel wurde nichts verändert, der Fehler trat plötzlich zu irgendeinem Zeitpunkt auf.


    Kann jemand helfen?

  • Hier gibt es etliche Treads dazu, irgendwo wurde ein Verweis auf einen Eintrag in die index.php geschrieben, der hatte dann immer geholfen.
    Such noch mal, ansonsten wusste das der @oldie oder der @Wilhelm12 glaub ich!

    Zufrieden mit dem Script und dem Support? Möchtest du uns unterstützen?

    Dann könntest du etwas
    SPENDEN


    *** Benutze die Suchfunktion und zeige Eigeninitiative ***
    *** Bitte fülle deine Profildaten aus, sonst können wir dir nicht helfen! ***
    *** Wenn dir der Beitrag eines Users geholfen hat, tut ein Klick auf den Gefällt-Button nicht weh ***

  • in der index. php ganz am Anfang also direkt unter <?php dieses einfügen
    date_default_timezone_set('Europe/Berlin');


    wenn das nichts bringt dieses an der ersten stelle eintragen also vor dem ersten <?php

    • <?php
    • date_default_timezone_set("Europe/Berlin");
    • ?>

    Zufrieden mit dem Script und dem Support?
    Möchtest du uns unterstützen?
    Dann könntest du etwas

              Spenden


  • Hallo,


    leider hat der Tipp nichts gebracht.
    Das Problem liegt wohl an der Datenbank, nach der SQL-Abfrage SELECT CURRENT_TIME wird eben genau die falsche Zeit angezeigt, nämlich 2h hinterher.


    Auf Nachfrage beim Support meines Webhosters erhielt ich die Antwort "unsere Server arbeiten alle nach UTC. Das dürfte für Ihre Software kein Problem darstellen, wenn diese dies beachtet."


    Wie kann ich die Datenbank bzw. das Tippspiel dazu bringen, die UTC+2 zu verwenden als Zeit?

  • Hab das gleich Problem,
    die Uhrzeit beim Liveticker stimmt, jedoch wenn ich mich Auslogge und wieder Einlogge steht da "Ihr letzter Besuch war..." um 2h falsch.
    Zudem haben mich Tipper angeschrieben, dass man auch während des Spiels noch tippen kann, das war vor ein paar Wochen noch anders.
    Angeblich hat der Provider seinen Service verkauft und der neue hat die Homepage auf sein System konvertiert. Nach Anfrage kam genau diese Antwort "unsere Server arbeiten alle nach UTC"


    Was nun?
    Hab als erstes mal die Sperrzeit von 300 auf 7500 geändert, damit die Manipulartion der Spiele erstmal unterbunden wird, aber wie gehts nun weiter?
    Hat da einer eine Lösung?


    PS. alle vorher beschriebenen Maßnahmen haben keinen Einfluss ?!?

  • das Tippspiel läuft doch auch auf UTC
    zeit wenn da also in der config dieses eingestellt ist
    $timeoffset = 60*60;
    $daylightsaving = TRUE;


    sollte eigentlich alles stimmen da ja $daylightsaving = TRUE; von winter auf sommer zeit und umgekehrt umstellt geht das bei dir nicht warum auch immer
    hänge dieses einmal in die willkommen intern am besten unter dann siehst du zeit Ausgabe vom Server direkt unter Tipp-Statistik so siehst du ob die richtig ist


    unter diesem
    <td align="left" width=75% >Tipps Unentschieden</td>
    <td align="right" style="padding:2px;"><?php echo $remis; ?></td>
    </tr>
    </table>
    dieses einbinden

    PHP
    1. <?php
    2. $datum = date("d.m.Y");
    3. $uhrzeit = date("H:i");
    4. echo $datum," - ",$uhrzeit," Uhr";
    5. ?>

    Zufrieden mit dem Script und dem Support?
    Möchtest du uns unterstützen?
    Dann könntest du etwas

              Spenden


  • Wenn ich den Quellcode so einbinde, dann steht unter Tippstatistik die korrekte Uhrzeit. Das passt.


    Im Chat steht bsp.-weise auch die richtige Uhrzeit.


    Wenn ich mich hingegen einlogge, auslogge und wieder einlogge, dann steht eben oben "dein letzter Besuch war am [...]" und dann eben die aktuelle Uhrzeit, allerdings -2h.
    Das würde mich ja noch nicht mal stören, wenn sich diese -2h nicht auch auf die Zeit der Tippabgabe auswirken würde.
    Ich kann mir derzeit nur insofern helfen, dass ich die Sperre der Tippabgabe eben 7500s (= 125min) einstelle, so dass die User wie gewollt nur bis 5min vor Spielbeginn tippen können, denn lasse ich es bei 300s (= 5min), dann können sie sogar noch tippen, obwohl das Spiel bereits zu Ende ist.

  • versuche einmal dieses
    in der login.inc.php (Die Datei ist im Ordner include)unter "Lastlogin neu eintragen"
    die Abfrage

    Code
    1. ." inaktive_mail = 0,"


    entfernen


    das hat schon mal geholfen


    und steht alles hier

    Zufrieden mit dem Script und dem Support?
    Möchtest du uns unterstützen?
    Dann könntest du etwas

              Spenden


  • Leider keinerlei Veränderung. Letzter Besuch bleibt 2h hinter der aktuellen Zeit.

  • Was ihr mal versuchen könnt ist nach folgendem zu suchen

    SQL
    1. UNIX_TIMESTAMP(s.datum)

    und mit sowas zu ersetzen

    SQL
    1. UNIX_TIMESTAMP(CONVERT_TZ(s.datum, '+02:00', 'Europe/Berlin'))

    wobei statt s.datum auch datum, lastaction, u.lastaction und hidden_time verwendet werden.

  • das könnte gehen dafür müssten aber dieses in der Index.php austauschen Aber wie immer erst die index.php sichern falls etwas schief geht !!!!
    unter
    #UNIX_TIMESTAMP(s.datum)
    if (isset ($_SESSION['s_status']) && $_SESSION['s_status'])
    {
    # zwischen zwei Zugriffen desselben Users müssen mindestens x Sekunden
    # (definiert in $skript['countertime']) liegen, bevor er erneut gezählt wird!



    dieses

    Code
    1. $query = "SELECT id FROM ".$tbl['counter'] ." WHERE u_id=".$_SESSION['s_user'] ." AND UNIX_TIMESTAMP(datum) > ".(time() - $skript['countertime']); $sql = mysql_query($query); if(mysql_num_rows($sql) == 0) { $query2 = "INSERT INTO ". $tbl['counter'] ."(u_id, datum)" ." VALUES (". mysql_real_escape_string($_SESSION['s_user']) .", NULL)"; $result = mysql_query($query2); }


    durch dieses ersetzen

    Code
    1. $query = "SELECT id FROM ".$tbl['counter']
    2. ." WHERE u_id=".$_SESSION['s_user']
    3. ." AND UNIX_TIMESTAMP(CONVERT_TZ(s.datum, '+02:00', 'Europe/Berlin')) > ".(time() - $skript['countertime']);
    4. $sql = mysql_query($query);
    5. if(mysql_num_rows($sql) == 0)
    6. {
    7. $query2 = "INSERT INTO ". $tbl['counter'] ."(u_id, datum)"
    8. ." VALUES (". mysql_real_escape_string($_SESSION['s_user']) .", NULL)";
    9. $result = mysql_query($query2);
    10. }

    Zufrieden mit dem Script und dem Support?
    Möchtest du uns unterstützen?
    Dann könntest du etwas

              Spenden


  • Mein 1und1 Cloud Server hat das selbe Problem. MySQL und Server arbeiten mit utc Zeit. Somit werden die Anstosszeiten zwar korrekt angezeigt, die User können aber 2 Stunden nach Anstoß noch tippen. Beim Versuch über plesk die Serverzeit zu ändern mit abschließendem Neustart ist mir der komplette Cloud Server abgeschmiert. 1und1 meinte es könnte sogar ein irreparabeler Schaden am Server sein. Am Montag will sich das nochmal ein Experte anschauen. Das wäre aber extrem ärgerlich da ich auf dem Server noch viele anderer Seiten und Services drauf laufen hatte. Also Vorsicht damit!


    Weiß jemand wie sich der MySQL Server auf die Timezone Europa/Berlin umstellen lässt?
    Die Lösung mit den +2 im SQL Befehl halte ich für nicht so glücklich.

    • es müssen mehrer SQL Befehle angepasst werden
    • was passiert bei Umstellung Sommer/Winterzeit? Muss dann alles auf +1 angepasst werden ?
  • Mich hat es jetzt auch erwischt.
    Ich bekam gestern eine Nachricht, dass man das Spiel HSV:SVW nach Anpfiff noch tippen kann.


    "...dein letzter Besuch..." ist auch betroffen.


    Vom Server wird die richtige Uhrzeit ausgegeben, das habe ich bereits gecheckt.


    Was ich komisch finde, ich habe gestern eine News geschrieben. Dort wird die richtige Uhrzeit angegeben (ebenso im Liveticker).
    Nur wird die News nicht veröffentlicht, da beim speichern wohl irgendwo anders nochmal die Uhrzeit gecheckt wird.


    Wurde bereits eine Lösung gefunden?

  • Bei mir ist es auch seit diesem Sommer (Provider Inhaberwechel). Habe das, wie Torsten, mit der Sperre gelöst:



    Code: config.inc.php
    1. // 'zeit' : Die Anzahl Sekunden, die die Sperre vor Spielbeginn aktiviert wird. (Bsp.: 3600 = 1 Stunde)
    2. // ab 08/2017:
    3. // 7500= 125min bei Sommerzeit
    4. // 3900 = 65min bei Winterzeit
    5. $sperrung['status'] = 0;
    6. $sperrung['zeit'] = 3900;

    Verhindert zumindest die nachträgliche Tippeingabe...