Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
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. |
||
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. ![]()
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...^^
<?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
Voilà, après de longue recherche j'ai trouvé le problème^^
php : coté serveur
Javascripte : coté client
bref c'est bon^^
Hors ligne