Faire apparaître bouton

Résolu
patburn_911 -  
JooS Messages postés 2705 Statut Membre -
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

  1. Atropa Messages postés 2051 Statut Membre 274
     
    Bonsoir,

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

    sinon ça doit ressembler à ça :

    if($controle > 3) echo 'button';
    0
  2. patburn_911
     
    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
  3. JooS Messages postés 2705 Statut Membre 228
     
    Salut !

    Avec une simple condition :).

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

    0
  4. patburn_911
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. JooS Messages postés 2705 Statut Membre 228
     
    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
  7. patburn_911
     
    Ç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
    1. JooS Messages postés 2705 Statut Membre 228
       
      De rien :).
      0