2016-05-04 11 views
-1

Ich habe eine csgo Wettseite, wenn mindestens 2 Spieler ihre Skins auf der Seite ablegen, beginnt das Spiel und es dauert 2 Minuten, bis der Bot einen Gewinner wählt.Mein Countdown startet nicht auf meiner Wettseite

Alles funktioniert gut, das Spiel beginnt, ein Gewinner wird 2 Minuten nach dem Spielstart ausgewählt, aber der Countdown-Text, der die verbleibenden Sekunden anzeigen soll, funktioniert nicht.

dies ist mein Code Time left: <h4 id="countdown-timer"><span id="timeleft">0</span></h4>

Accepted Handelsangebot # 1211760373 von XXXXXXX (XXXXXXXXXXXXXX) Aktuelle Spieler: 1 Accepted Handelsangebot # 1211760308 von XXXXXXXXX (XXXXXXXXXXXXXXX) Aktuelle Spieler: 2 Gefunden 2 Spieler

und das ist, was der bot sagt

und das ist th timeleft.php e http://prnt.sc/b03ute

PHP-Code

<?php 
@include_once ("set.php"); 
$game = fetchinfo("value", "info", "name", "current_game"); 
$r = fetchinfo("starttime", "games", "id", $game); 
$somebodywon = fetchinfo("winner", "games", "id", $game); 
if ($r == 2147483647) 
    die("120"); 
$r += 120 - time(); 
if ($r < 0) { 
    $r = 0; /* if(empty($somebodywon)) include_once('getwinner34634f.php'); */ 
} echo $r; 
?> 

Fand diese eine aswell, genannt ssetimeleft.php

< 

?php 
@include_once ("set.php"); 
header('Content-Type: text/event-stream'); 
header('Cache-Control: no-cache'); // recommended to prevent caching of event data. 

/** 
* Constructs the SSE data format and flushes that data to the client. 
* 
* @param string $id Timestamp/id of this connection. 
* @param string $msg Line of text that should be transmitted. 
*/ 
function sendMsg($id, $msg) { 
    echo "id: $id" . PHP_EOL; 
    echo "data: $msg" . PHP_EOL; 
    echo PHP_EOL; 
    ob_flush(); 
    flush(); 
} 
while (1) { 
    $game = fetchinfo("value","info","name","current_game"); 
    $r = fetchinfo("starttime","games","id",$game); 
    if($r == 2147483647){ 
     $var=120; 
    }else{ 
     $var = $r += 120-time(); 
     if($r < 0) 
     { 
      $var = 0; 
      /*if(empty($somebodywon)) 
       include_once('getwinner34634f.php');*/ 
     } 
    } 
    sendMsg(time(),$var); 
    usleep(500000); //1000000 = 1 seconds 

} 
?> 
+0

Bitte geben Sie den Code, der die Zeitanzeige Text aktualisieren soll. (Wahrscheinlich Javascript?) – Daan

+0

Bitte aktualisieren Sie Ihre Frage mit diesem Code, so dass es besser lesbar ist. – Daan

+0

Ich habe gerade getan, weißt du, wie du mir helfen kannst? –

Antwort

0

Es ist schwer zu sehen, was Sie versuchen, hier ohne weitere Informationen zu tun, aber die time() Funktion in Ihrer PHP-Datei läuft nur, wenn der serverseitige PHP-Prozessor diese Datei verarbeitet. Die Countdown-Anzeige sollte jedoch clientseitig behandelt werden.

Ich empfehle das Hinzufügen einer Javascript oder jQuery-Datei, um die Countdown-Anzeige für Sie zu behandeln.

+0

Ich weiß nicht, wie man einen solchen Code von Grund auf neu erstellt, oder? –

0

dieses sein ein sehr einfaches Beispiel Versuchen:

$(function() { 
 
    var time_out = 10; 
 
    var timeout = setInterval(calculate, 1000); 
 

 
    function calculate() { 
 
    $('#timeleft').text(time_out--); 
 
    if (time_out < 0) { 
 
     clearInterval(timeout); 
 
    } 
 
    } 
 
});
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <script src="https://code.jquery.com/jquery-1.11.3.js"></script> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
</head> 
 

 
<body> 
 
    <h4 id="countdown-timer"><span id="timeleft">0</span></h4> 
 
</body> 
 

 
</html>