[php] bouton ne voulant pas suivre condition

neo2099 Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   -  
neo2099 Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je vous explique le probleme, j'ai un script et quand on clique sur construire lance un compte a rebour, et je voudrais qu'a la fin du compte a rebour une bouton actualisez apparaisse hors mon bouton apparait apres que j'ai cliquer sur construire, j'ai essyer de faire des conditions mais il disparait sans réaparaitre.
Pouvez-vous m'aider svp.

Le script ci-dessous.

<?
@session_start();
$pseudo= @$_SESSION['pseudo'];

$restant=0;

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



// Connexion à MySQL
$cfg_hostname="*********";
$cfg_username="********";
$cfg_password="***********";
$cfg_database="********";


$link=mysql_connect($cfg_hostname, $cfg_username, $cfg_password) or die("Can\'t connect to MySql server !");

// Sélection de la base de données
$result=mysql_select_db($cfg_database,$link) or die("Impossible de sélectionner la base ".$cfg_database." !");

// Recherche si le pseudo du joueur est déjà dans la table player

$query = "SELECT * FROM login WHERE pseudo='".$pseudo."'";

$result=mysql_query($query,$link);


if (!$result)
{
echo "query = ".$query."\n";
echo "mysql_errno = ".mysql_errno($link)."\n";
echo "mysql_error = ".mysql_error($link)."\n";
exit;
}


// Aucun résultat retourné par le SELECT -> le joueur n'est pas dans la table
if (mysql_num_rows($result) == 0)
{

$date=date("Y-m-d H:i:s");

// Ajoute le joueur dans la table
$query = "INSERT INTO login (pseudo,date) VALUES ('".$pseudo."','".$date."')";

$result=mysql_query($query,$link);
}
else
{

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
$query = "UPDATE login SET date='".$date."' WHERE pseudo='".$pseudo."'";

$result=mysql_query($query,$link);
}
else
{
// Lit la date et l'heure à laquelle le jeu à commencer
$row = mysql_fetch_object($result);
$date = $row->date;
}
}

if ($command == "actualiser")
{

$niveau++;
mysql_connect("localhost", "root", "");
mysql_select_db("ltdt");
$query2 = "UPDATE login SET niveau='".$niveau."' where pseudo='".$pseudo."'";
$result2=mysql_query($query2,$link) or die ("Impossible de faire la requete");
}


// 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 = 10; // Durée allouée à la partie : 100 secondes

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

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr" lang="en">
<head>
<title>Game</title>
<font color="white">
<style>

body
{
font-size:10pt;
font-family:Arial;
}

div img
{
padding:0px;
margin:0px;
display:inline;
border-width:0px;
}

</style>
<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="c"+seq[i]+".gif";
}

if (restant)
{
restant--;
window.setTimeout("decompte()",1000);
}
else
{
alert("Batiment ok!");
}
}




// -->
</script>
</head>
<?


?>
<body <?php if ($restant) echo "onload=\"decompte()\"";?>>
<font color="white">
Niveau <? echo $niveau ?>
<div>
Temps restant <img id="seq_0" src="c0.gif"><img id="seq_1" src="c0.gif"><img src="colon.gif"><img id="seq_2" src="c0.gif"><img id="seq_3" src="c0.gif"><img src="colon.gif"><img id="seq_4" src="c0.gif"><img id="seq_5" src="c0.gif">
</div>

<br/>
<br/>
<br/>
<br/>
<?php


if ($metal >= 2000)
{
if (!isset($_POST["pseudo"]) && $restant ==0)
{?>
<form action="batiment.php" method="post">
<input type="hidden" id="command" name="command" value="new">
<input type="hidden" id="pseudo" name="pseudo" value="<? echo $pseudo; ?>">
<input type="submit" value="Construire">
<?
}
else
{ Ci-dessous voici le bouton que je voudrais qu'il apparaisse a la fin du compte a rebours
?>
<form action="batiment.php" method="post">
<input type="hidden" id="command" name="command" value="actualiser">
<input type="hidden" id="pseudo" name="pseudo" value="<? echo $pseudo; ?>">
<input type="submit" value="Actualiser">
<?

}
}




?>

Si vous pouvez m'aider je vous en remercie.
A voir également:

2 réponses

Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

le problème est que tu codes ton compte à rebours en php…

ton code est exécuté puis la réponse est envoyé au navigateur mais ensuite ton code ne "communique" plus avec la page affichée.
il faut que tu utilises un code en Javascript qui lui s'exécute sur le client (navigateur) et donc peut modifier l'affichage de ta page au bout des cent secondes.
0
neo2099 Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonjour,


ok moi je veux bien mais je m'y connais absolument pas en javascript c'est quelqu'un qui m'a fait la partie en javascript pour se compte a rebour.

Merci
0