[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 -
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.
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:
- [php] bouton ne voulant pas suivre condition
- Excel cellule couleur si condition texte - Guide
- Suivre colis - Guide
- Suivre position google - Guide
- Diagnostic bouton photo - Accueil - Outils
- Easy php - Télécharger - Divers Web & Internet
2 réponses
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.
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.