Faire apparaître bouton

Résolu/Fermé
patburn_911 - 29 janv. 2013 à 19:40
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 30 janv. 2013 à 23:52
Bonjour,
Je vais tenter d'expliquer mon problème le plus clairement possible.
J'ai une simple page qui choisit un nombre aléatoire et on doit deviner ce nombre. j'ai un compteur d'inclus qui permet de dire en combien de tentatives on a réussi à trouver le nombre. Le problème est que je dois inclure un bouton qui permet d'abandonner et se faire donner le bon nombre, mais ce seulement après 3 tentatives ou plus. Le bouton doit donc être invisible le reste du temps ou alors ne pas exister du tout pour seulement apparaître en temps voulu. Quelqu'un pourrait m'aider sur les commandes possibles d'utiliser qui pourraient m'échapper?

merci

Patrice


6 réponses

Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
29 janv. 2013 à 21:40
Bonsoir,

poste ton code ce sera plus simple de te réponde

sinon ça doit ressembler à ça :

if($controle > 3) echo 'button';
0
Ah oui désolé le voici et entre temps je vais essayer avec la partie de code que tu m'as donnée.

Merci

Patrice

Il est long je ne sais pas si tu le voulais en entier, mais bon le voici ^^

require_once "config.php" ;

// Si un des arguments n'est pas défini...
if ( !isset($_REQUEST["ARG_ESSAI"]) || !isset($_REQUEST["VALEUR_CHOISIE"])) {

// Alors on termine la page ici avec un message d'erreur
die ( "Erreur: " . basename(__FILE__) . ", ligne " . __LINE__ ) ;

}

// On recupere les arguments
$essai = intval($_REQUEST["ARG_ESSAI"]) ;
$valeur_choisie = intval($_REQUEST["VALEUR_CHOISIE"]) ;
$compteur = intval($_REQUEST["COMPTEUR"]) + 1 ;



// On détermine les résultats
// P.S. Les programmeurs experimentés ecrivent ce code d'une autre maniere
if ($essai == $valeur_choisie) :
$succes = TRUE;

elseif ($essai < $valeur_choisie) :
$succes = FALSE;
$trop_quoi = "trop petit";

else : /* $essai > $valeur_choisie */
$succes = FALSE;
$trop_quoi = "trop grand";

endif
?>


<!doctype html>
<html lang=fr>
<head>
<meta charset=utf-8>
<title><?= TITRE ?></title>
</head>

<body>

<h1><?= TITRE ?></h1>
<img src="sphinx.jpg" alt="Sphinx" height="100" width="100">

<?php if ($succes): ?>

<p>BRAVO! Vous avez trouvé en <?= $compteur ?> essaie(s)</p>
<p>La valeur que j'ai choisie était effectivement <?= $essai ?>.</p>
<form action="."><p>
<input type="submit" value="Rejouer">
</p></form>

<?php else: ?>

<p>HÉLAS! <?= "$essai est $trop_quoi." ?> </p>
<p>Choisissez un autre nombre...</p>
<form method="POST"><p>
<input type="number" name="ARG_ESSAI" required autofocus>
<input type="hidden" name="VALEUR_CHOISIE" value="<?= $valeur_choisie ?>">
<input type="hidden" name="COMPTEUR" value="<?= $compteur ?>">
<input type="submit" value="Allez!">
</p></form>



<?php endif; ?>

</body>
</html>



PS : Pour le moment, le config.php sert uniquement à créer mon nombre aléatoire entre 1 et 1000
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
29 janv. 2013 à 22:05
Salut !

Avec une simple condition :).

if(Dépassement) {
    Montrer le bouton Abondonner
}

0
Désolé je n'ai que 2 semaines d'expérience dans le php alors je ne connais que très peu. D'abord le programme est en anglais, donc les expressions doivent être en anglais pour que ça fonctionne. Et puis je ne peux utiliser quelque chose pour montrer le bouton tout de suite, car je n'ai pas de bouton encore et je ne sais pas où le mettre. j'avoue que c'est pas très commode de tout expliquer sur le net à l'aveuglette comme ça alors si je n'y arrive pas tout de suite c'est pas grave le professeur nous expliquera sûrement.

Merci :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
30 janv. 2013 à 01:16
Oué, tu l'as dis, parce que j'ai presque rien piger Lol !

<?php
//Démarrer la session
session_start();

//Définition du nombre MAX de tentatives
define('MAX_TRY', 3);

//Initialisation de la réponse de script
$msg = '';

//Si premiere visite de l'utilisateur, on initialise le nombre de tentatives a 0
if(!isset($_SESSION['tentatives'])) $_SESSION['tentatives'] = 0;

//On initialise le nombre a deviner
if(!isset($_SESSION['guess'])) $_SESSION['guess'] = rand(1, 100);

//Si l'utilisateur abondonne la partie
if(isset($_POST['lost'])) {
    $_SESSION['tentatives'] = 0;
    $_SESSION['guess'] = rand(1, 100);
    $msg = 'Nouvelle partie';
}

//Si l'utilisateur fait une tentative, et qu'il a bel et bien saisi un nombre
elseif(isset($_POST['guess']) AND is_numeric($_POST['guess'])) {
    if($_POST['guess'] == $_SESSION['guess']) {
        $msg = 'Bingo !';

        //Changement du nombre a deviner
        $_SESSION['guess'] = rand(1, 100);

        //Remettre le compteur a zero
        $_SESSION['tentatives'] = 0;
    }
    elseif($_POST['guess'] > $_SESSION['guess']) {
        $msg = 'Moins.';

        // Incrémentation du nombre de tentatives
        $_SESSION['tentatives']++;
    }
    else {
        $msg = 'Plus.';
        $_SESSION['tentatives']++;
    }
}
?>


<form method="post">
    <?php echo $msg; ?>
	<p>Nombre : <input type="text" name="guess" value="<?php if(isset($_POST['guess'])) echo $_POST['guess']; ?>"></p>
    <p><input type="submit" value="Envoyer"></p>
    <?php
	if($_SESSION['tentatives'] >= MAX_TRY)
		echo '<p><input type="submit" name="lost" value="Abondonner"></p>';
	?>
</form>


PS : Informe toi sur la bonne syntaxe de PHP :).
0
Ça semble plus que complet! Je vais travailler avec ce que tu as posté et je devrais y arriver, sinon ça voudra dire que j'ai besoin de redoubler d'ardeur XD

Merci beaucoup pour tous les conseils c'est apprécié!!
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
30 janv. 2013 à 23:52
De rien :).
0