Page 1 sur 1

Methode DEVINER nombre mot ou autres

Posté : 13 mars 2021, 10:53
par Beebeepc
Hello !

j'ai une petite question :
j'ai un petit code que j'ai fait:
<label for="entrez le chiffre"></label>
<input type="number" min ="1" max="100" name="nbre_a_trouver" placeholder="nombre"><br><br>
<input type="submit" value="transmettre"><br>

</form>

<?php

$nombreInconnu = 25;

if (!empty($_POST['nbre_a_trouver'])) {
    if ($nombreInconnu < $_POST['nbre_a_trouver']) {
        echo "le nombre est trop grand ";
    }
    if ($nombreInconnu > $_POST['nbre_a_trouver']) {
        echo ' le chiffre est trop petit';
    }
    if ($nombreInconnu == $_POST['nbre_a_trouver']) {
        echo 'bravo vous avez trouvé le nombre n°' . $nombreInconnu ;
    }
}$_SESSION['nbre_a_trouver'] = $nombreInconnu;

unset($_SESSION['nbre_a_trouver']);

?>
Tout marche
Seulement voilà : j'ai utilisé SESSION et mon mentor me demande de trouver un moyen sans utiliser SESSION
Mais passer par le formulaire !
Je voudrais savoir si vous avez des idees !
je viens de mettre mon $nombreInconnu dans mon form :
<input type="number" min ="1" max="100" name="find_number"  value = "<?php echo $nombreInconnu = mt_rand(1, 100); ?>"><br><br>
        <input type="hidden" value = "<?php echo $nombreInconnu = mt_rand(1, 100); ?>">
alors si vous avez des idees ! pour que je trouve la solution !
merci merci

Re: Methode DEVINER nombre mot ou autres

Posté : 13 mars 2021, 15:54
par or 1
dans le code donné, il n'y a aucun usage utile de la session. cela fonctionne car le nombre est codé en dur.

le mettre dans une balise html input hidden correctement écrite peut fonctionner mais il est facile pour le joueur d'avoir le réponse. alors qu'en utilisant correctement une session, il n'est pas possible pour le joueur d'avoir le résultat directement.

Re: Methode DEVINER nombre mot ou autres

Posté : 13 mars 2021, 17:34
par Beebeepc
Oui peut être mais ma question etait: comment passer par le formulaire et non par session..j ai pas mis mon code un peu plus compliqué car je cherche à trouver une idée par le formulaire

Re: Methode DEVINER nombre mot ou autres

Posté : 13 mars 2021, 19:46
par Saian
Salut Beebeepc, en fait la session sert à rien dans le premier code, tu peux supprimer les 2 lignes que ça ne changera rien au résultat. Je ne comprends pas ce que ton mentor (?) attend de toi ? Et mettre le résultat dans le code source de la page je vois pas vraiment l'intérêt, il suffit d'afficher la source pour avoir le résultat. :-k

Re: Methode DEVINER nombre mot ou autres

Posté : 14 mars 2021, 09:54
par Beebeepc
Hello Saian

En fait voici mon second code un peu plus arrangé !
Mon mentor veut que je trouve la solution en passant par le formulaire ! je cherche , je reflechis mais j'arrive pas à trouver !
il m'a dit d'ajouter par input number et apres input hidden et de ne pas utiliser les SESSION
pourtant elles me sont caerement utile pour ce code !
alorsvoilà pourquoi j'ai posé la question car j'aurai aimé avoir des idees!
je pense qu'il veut me faire comprendre qu'on peut passer par tel ou tel endroit pour avoir finalement le meme resultat !
je veux pas la soluce , je veux comprendre ou je dois chercher finalement !

<?php session_start(); ?>
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

<!-- formulaire -->
<div class="container" >
    
        <form action="#" method="POST">
        <h1 style="text-align: center; color:violet">Mission David P !</h1>
        <p style="text-align: center;" > Trouver le chiffre "ALEATOIRE"  MYSTERE entre 1 et 100</p>
        <div class="col-12" style="text-align: center;">
        <label for="entrez le chiffre"></label>
        <input type="number" min ="1" max="100" name="nbre_a_trouver" placeholder="nombre"><br><br>
        <input type="submit"  value="transmettre" ><br>
        </form>
    </div>
</div>
<?php

if (!isset($_SESSION['nbre_a_trouver'])) {
    $nombreInconnu = mt_rand(1, 100); 
    $_SESSION['nbre_a_trouver'] = $nombreInconnu;
   
} else {
    $nombreInconnu = $_SESSION['nbre_a_trouver'] ;
}

if (!empty($_POST['nbre_a_trouver'])) {
    if ($nombreInconnu < $_POST['nbre_a_trouver']) {
        echo "le nombre est trop grand ";
    } elseif ($nombreInconnu > $_POST['nbre_a_trouver']) {
        echo ' le chiffre est trop petit';
    } elseif ($nombreInconnu == $_POST['nbre_a_trouver']) {
        echo 'bravo vous avez trouvé le nombre n° ' . $nombreInconnu ;
        //echo 'vous avez trouvé le chiffre magique en' . $nbreClic;
    
/*if ($nombreInconnu == $_POST['nbre_a_trouver']) {
    var_dump($_SESSION);
    $nbreClic = $_SESSION['nbre_a_trouver'] ;
}
     */   
        unset($_SESSION['nbre_a_trouver']);
        echo '<br><a href="/aleatoire_index.php">Je veux rejouer</a></br>';
    } 
}
?>

Re: Methode DEVINER nombre mot ou autres

Posté : 14 mars 2021, 14:35
par or 1
'le mettre dans une balise html input hidden correctement écrite peut fonctionner'

https://developer.mozilla.org/fr/docs/W ... put/hidden

Re: Methode DEVINER nombre mot ou autres

Posté : 14 mars 2021, 19:01
par Saian
Comme souligné par or 1 n'y a-t-il pas un problème avec l'input hidden, ne manquerait-il pas un attribut ? A noter aussi qu'en faisant un rand à chaque affichage de la page, le nombre va changer à chaque fois. Ça ne t'empêchera pas de vérifier que le nombre saisi correspond ou pas au nombre à trouver, juste que ce dernier va changer à chaque fois et que donc l'indication plus grand ou plus petit ne sera pas toujours vrai par rapport au nouveau nombre à trouver.

Re: Methode DEVINER nombre mot ou autres

Posté : 14 mars 2021, 19:07
par Beebeepc
Là dans ce que j ai envoyé ya rien en rapport avec la question...
Et si ça devait faire ce que tu dis...alors non c est pas du tout ce que je veux...je veux que ça fasse la même chose mais par le formulaire...ma question

Merci pour vos suggestions

Re: Methode DEVINER nombre mot ou autres

Posté : 14 mars 2021, 19:12
par Saian
C'est de ce bout de code dont on parle avec or 1.
<input type="number" min ="1" max="100" name="find_number"  value = "<?php echo $nombreInconnu = mt_rand(1, 100); ?>"><br><br>
<input type="hidden" value = "<?php echo $nombreInconnu = mt_rand(1, 100); ?>">

Re: Methode DEVINER nombre mot ou autres

Posté : 15 mars 2021, 13:19
par Beebeepc
Oui ça c est ce que j avais commencé pour le sujet et qui ne fonctionne pas

Re: Methode DEVINER nombre mot ou autres

Posté : 15 mars 2021, 13:44
par Saian
Et on essaie de te faire comprendre pourquoi ça ne fonctionne pas.