Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 21-12-2007 10:46:29

Vegna
Membre
Date d'inscription: 21-12-2007
Messages: 2

Compte a reboure Javascript / PHP / SQL besoin d'aide.

Bonjour a tous, j'essaye d'apprendre le php depuis un bout de temps. je suis loin d'être expert, c'est pour cela que je suis ici.^^

Donc je suis sur un jeu en php depuis 1 semaines env. et un bout de code me bloque depuis 3 jours, pour cela que je vous écrit ce message. smile

donc voilà j'essaye de faire un compte a rebours qui fait que quand on coupe l'explorer ou quitte la session, il continue sont décompte. dû au faite que j'enregistre dans ma base sql l'heure et la date a la quel le compte a rebours a commencer. j'ai récupéré ce bout de code sur internet. mais là je bloque dessus.

Le problème c'est que dès que je réactualise la page il incrémente la variable "$arg1" qui est sensé s'incrémentes seulement quand le cronos a fini.

Donc voilà, j'invoque les dieux du PHP pour me venire en aide, et me dire  ce qui piquer les yeux dans mon code...^^

Code:

<?php


if (!isset($_SESSION['pseudo'])) 
{
    die('Vous n\'êtes pas autorisez à acceder à cette page.'); 
}

$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM membre WHERE `pseudo`='$pseudo_membre'"); 
$result = mysql_fetch_array ($requete);

$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];

$arg1 = $result['argent'];
$TaffOn = $result['TaffOn'];

$restant=0;


    $command="";
    if (isset($_POST["command"])) $command = $_POST["command"];

    


        if ($command == "new") // Si une commande pour nouvelle partie
        {
            $date=date("Y-m-d H:i:s");
        
            // Met à jour la date pour le joueur dans la table    
            $requete = "UPDATE membre SET bar_time='".$date."' WHERE `pseudo`='$pseudo_membre'";
            $TaffOn = 1;
            $requete = "UPDATE membre SET TaffOn='".$TaffOn."' WHERE `pseudo`='$pseudo_membre'";
            $result=mysql_query($requete);
        }
        else
        {
            // Lit la date et l'heure à laquelle le jeu à commencer 
            $date = $result['bar_time'];
            $TaffOn = 0;
            
        }



    // Convertit la date au format "YYYY-MM-DD HH:MM:SS" en TimeStamp
    $timestamp=mktime(substr($date,11,2),substr($date,14,2),substr($date,17,2),substr($date,5
,2),
            substr($date,8,2),substr($date,0,4));
    $startdate=date("d/m/Y à H:i:s",$timestamp);

    $duree = 100; // Durée allouée à la partie : 100 secondes

    $restant=$duree-(time()-$timestamp);
    if ($restant < 0) { $restant = 0; }

?>




<script type="text/javascript">
<!--

function toHMS(duree)
{
    var temps = new Array();
    
    var hh = Math.floor(duree/3600);
    var mm = Math.floor((duree-hh*3600)/60);
    var ss = duree-hh*3600-mm*60;

    
    temps[0]=Math.floor(hh/10);
    temps[1]=hh-temps[0]*10;
    temps[2]=Math.floor(mm/10);
    temps[3]=mm-temps[2]*10;
    temps[4]=Math.floor(ss/10);
    temps[5]=ss-temps[4]*10;
    
    return temps;
}


var restant=<?php echo $restant; ?>;

function decompte()
{
    var seq = toHMS(restant);
    for (var i=0; i < 6; i++)
    {
        document.getElementById("seq_"+i).src="include/num/c"+seq[i]+".gif";
    }

    if (restant)
    {
        restant--;
        window.setTimeout("decompte()",1000);
    }
    else
    {
        <? 
        $requete = "UPDATE membre SET TaffOn='".$TaffOn."' WHERE  `pseudo`='$pseudo_membre'";
        $result=mysql_query($requete);
        $arg1=$arg1+170;
        $requete = "UPDATE membre SET argent='".$arg1."' WHERE  `pseudo`='$pseudo_membre'";
        $result=mysql_query($requete);
        mysql_close($sql);
        echo '<meta http-equiv="refresh" content="1;URL="index.php?page=bar">';
        
        ?>
    }    
}




// -->
</script>

<body <?php if ($restant) echo "onload=\"decompte()\"";?>>
<?php if (isset($startdate)) {echo "Partie démarrée le ".$startdate."<br/><br/>";} ?>
<? echo $restant; ?>
<div>
<h1>Temps de travail restant :</h1><br>
<img id="seq_0" src="c0.gif"><img id="seq_1" src="c0.gif"><img src="include/num/colon.gif"><img id="seq_2" src="c0.gif"><img id="seq_3" src="c0.gif"><img src="include/num/colon.gif"><img id="seq_4" src="c0.gif"><img id="seq_5" src="c0.gif">
</div>

</html>

Hors ligne

 

#2 21-12-2007 16:12:40

Vegna
Membre
Date d'inscription: 21-12-2007
Messages: 2

Re: Compte a reboure Javascript / PHP / SQL besoin d'aide.

Voilà, après de longue recherche j'ai trouvé le problème^^

php : coté serveur
Javascripte : coté client

bref c'est bon^^

Hors ligne