[php] bouton ne voulant pas suivre condition

Fermé
neo2099 Messages postés 164 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 9 avril 2020 - 28 nov. 2007 à 18:38
neo2099 Messages postés 164 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 9 avril 2020 - 4 déc. 2007 à 22:24
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
4 déc. 2007 à 21:55
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 vendredi 13 avril 2007 Statut Membre Dernière intervention 9 avril 2020 12
4 déc. 2007 à 22:24
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