IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récuperation de données d'un formulaire de page à page


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut Récuperation de données d'un formulaire de page à page
    Bonjour la communauté !

    Je suis un petit nouveau ici, et je pense (ou j'espère) que mon passage restera occasionnel, car je m'arrache les cheveux sur un problème qui a l'air simple... mais pas pour moi

    Je vais essayer d'être clair dès le premier message.

    Je fais un petit simulateur de poker qui calcule les probas de succès d'une main (occupation confinement). Je précise que je ne suis pas développeur à la base.

    Voilà le principe (peut être pas optimal) :

    page1.php
    J'ai créé un formulaire qui m'affiche une checkbox avec les 52 cartes.
    Je sélectionne les 2 cartes de ma main et j'envoie le résultat vers une page2.php.

    page2.php
    Je teste avec isset si une case est cochée, et si elle l'est, il récupère une valeur.
    J'obtiens un tableau $MaMain (1 ligne, 2 colonnes) avec les 2 numéros de cartes correspondant à mon jeu en main.
    Carte 1 : $MaMain[0] et carte 2 : $MaMain[1]

    J'ajoute un deuxième formulaire pour choisir 3 nouvelles cartes (celle du flop pour les connaisseurs).
    Re une checkbox avec les 52 cartes pour cocher les 3 cartes sorties et j'envoie le résultat vers page3.php.

    page3.php
    Le problème est là
    Je teste avec isset si une case est cochée, et si elle l'est, il récupère une valeur.
    J'obtiens un tableau $Flop (1 ligne, 3 colonnes) avec les 3 numéros de cartes correspondant à mon jeu en main.
    Carte 1 : $Flop[0] et carte 2 : $Flop[1] et carte 3 : $Flop[2] .

    Mais j'ai perdu les cartes de ma main...

    Question : Comment puis je récupérer dans page3.php, le tableau que j'ai construit dans page2.php concernant MaMain ?

    Je vous remercie à l'avance !
    Vincent

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    avec des <input type="hidden">, ou des variables de SESSION.

  3. #3
    Membre régulier
    Homme Profil pro
    Agence digitale
    Inscrit en
    Avril 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Agence digitale
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2020
    Messages : 69
    Points : 97
    Points
    97
    Par défaut
    jreaux62 a raison. Tu peux aussi stocker tes valeurs, au fur et à mesure en base de données.
    Tout dépend de l'usage final de toutes ce infos.

    Bon courage

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    avec des <input type="hidden">, ou des variables de SESSION.
    Salut jreaux et merci pour ta réponse.

    A vrai dire, j'ai tenté d'utiliser "Hidden" mais je n'ai pas réussi à répondre à mon besoin

    En effet, j'ai l'impression que value est donné en dur et ne s'adapte pas à la valeur de ma variable.

    Par exemple, j'avais fait cela :

    Avec page1.php, je récupère les deux clés des cartes sélectionnées que j'envoie sur page2.php
    Par exemple : 3 et 35
    dans page2.php, je stocke ces deux valeurs dans le tableau MaMain de sorte que MaMain[0]=3 et MaMain[1]=35

    Je remets un formulaire pour le choix de 3 nouvelles cartes et j'avais introduis deux Hidden :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        <input type="hidden"  name="carte1" value="$MaMain[0]">
        <input type="hidden"  name="carte2" value="$MaMain[1]">

    Mais cela ne marche pas...
    Dans les exemples que je lis, j'ai l'impression que value est rigide, je voudrais qu'il s'adapte à chaque fois.

    Je ne sais pas si je suis très clair...

  5. #5
    Membre régulier
    Homme Profil pro
    Agence digitale
    Inscrit en
    Avril 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Agence digitale
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2020
    Messages : 69
    Points : 97
    Points
    97
    Par défaut
    Value peut tout à fait récupérer une valeur dynamique.

    on a pas le code source total mais essaie plutôt ça:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="carte1" value="<?php echo $MaMain[0]; ?>">

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bon...

    1- Si tu ne montres pas tes codes, on ne peut pas te corriger.


    2- Une façon un peu plus "élégante" :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="hidden" name="MaMain[0]" value="<?php echo $MaMain[0]; ?>">
    <input type="hidden" name="MaMain[1]" value="<?php echo $MaMain[1]; ?>">

    On récupère les 2 cartes en même temps, dans un array :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $MaMain = $_POST['MaMain']; // array

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Je ne voulais pas vous embêter avec mes codes et aller à l'essentiel.
    J'ai testé tout cela, et je vous remercie pour vos réponses.

    Il reste cependant un truc qui coince apparemment.

    Voici mes codes :

    page1.php qui s'appelle StartPoker.php

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <?php
    error_reporting(E_ALL);
    if(!empty($_POST))
    {
    echo '<pre>';
    echo print_r($_POST['choix'],true);
    echo '</pre><br />
    Faire un autre test : <a href="MainJoueur.php">Tester à nouveau</a>';
    }
    else
    {
    echo 'Choix des cartes de votre main :';
    echo '<form method="POST" action="MainJoueur.php">
        <input type="checkbox" name="1P" value="0"> <img src="imagesCartes/1P.png" width="50" height="73">
        <input type="checkbox" name="RP" value="1"> <img src="imagesCartes/RP.png" width="50" height="73">
        <input type="checkbox" name="DP" value="2"> <img src="imagesCartes/DP.png" width="50" height="73">
        <input type="checkbox" name="VP" value="3"> <img src="imagesCartes/VP.png" width="50" height="73">
        <input type="checkbox" name="10P" value="4"> <img src="imagesCartes/10P.png" width="50" height="73">
        <input type="checkbox" name="9P" value="5"> <img src="imagesCartes/9P.png" width="50" height="73">
        <input type="checkbox" name="8P" value="6"> <img src="imagesCartes/8P.png" width="50" height="73">
        <input type="checkbox" name="7P" value="7"> <img src="imagesCartes/7P.png" width="50" height="73">
        <input type="checkbox" name="6P" value="8"> <img src="imagesCartes/6P.png" width="50" height="73">
        <input type="checkbox" name="5P" value="9"> <img src="imagesCartes/5P.png" width="50" height="73">
        <input type="checkbox" name="4P" value="10"> <img src="imagesCartes/4P.png" width="50" height="73">
        <input type="checkbox" name="3P" value="11"> <img src="imagesCartes/3P.png" width="50" height="73">
        <input type="checkbox" name="2P" value="12"> <img src="imagesCartes/2P.png" width="50" height="73"><br>
        <input type="checkbox" name="1C" value="13"> <img src="imagesCartes/1C.png" width="50" height="73">
        <input type="checkbox" name="RC" value="14"> <img src="imagesCartes/RC.png" width="50" height="73">
        <input type="checkbox" name="DC" value="15"> <img src="imagesCartes/DC.png" width="50" height="73">
        <input type="checkbox" name="VC" value="16"> <img src="imagesCartes/VC.png" width="50" height="73">
        <input type="checkbox" name="10C" value="17"> <img src="imagesCartes/10C.png" width="50" height="73">
        <input type="checkbox" name="9C" value="18"> <img src="imagesCartes/9C.png" width="50" height="73">
        <input type="checkbox" name="8C" value="19"> <img src="imagesCartes/8C.png" width="50" height="73">
        <input type="checkbox" name="7C" value="20"> <img src="imagesCartes/7C.png" width="50" height="73">
        <input type="checkbox" name="6C" value="21"> <img src="imagesCartes/6C.png" width="50" height="73">
        <input type="checkbox" name="5C" value="22"> <img src="imagesCartes/5C.png" width="50" height="73">
        <input type="checkbox" name="4C" value="23"> <img src="imagesCartes/4C.png" width="50" height="73">
        <input type="checkbox" name="3C" value="24"> <img src="imagesCartes/3C.png" width="50" height="73">
        <input type="checkbox" name="2C" value="25"> <img src="imagesCartes/2C.png" width="50" height="73"><br>
        <input type="checkbox" name="1K" value="26"> <img src="imagesCartes/1K.png" width="50" height="73">
        <input type="checkbox" name="RK" value="27"> <img src="imagesCartes/RK.png" width="50" height="73">
        <input type="checkbox" name="DK" value="28"> <img src="imagesCartes/DK.png" width="50" height="73">
        <input type="checkbox" name="VK" value="29"> <img src="imagesCartes/VK.png" width="50" height="73">
        <input type="checkbox" name="10K" value="30"> <img src="imagesCartes/10K.png" width="50" height="73">
        <input type="checkbox" name="9K" value="31"> <img src="imagesCartes/9K.png" width="50" height="73">
        <input type="checkbox" name="8K" value="32"> <img src="imagesCartes/8K.png" width="50" height="73">
        <input type="checkbox" name="7K" value="33"> <img src="imagesCartes/7K.png" width="50" height="73">
        <input type="checkbox" name="6K" value="34"> <img src="imagesCartes/6K.png" width="50" height="73">
        <input type="checkbox" name="5K" value="35"> <img src="imagesCartes/5K.png" width="50" height="73">
        <input type="checkbox" name="4K" value="36"> <img src="imagesCartes/4K.png" width="50" height="73">
        <input type="checkbox" name="3K" value="37"> <img src="imagesCartes/3K.png" width="50" height="73">
        <input type="checkbox" name="2K" value="38"> <img src="imagesCartes/2K.png" width="50" height="73"><br>
        <input type="checkbox" name="1T" value="39"> <img src="imagesCartes/1T.png" width="50" height="73">
        <input type="checkbox" name="RT" value="40"> <img src="imagesCartes/RT.png" width="50" height="73">
        <input type="checkbox" name="DT" value="41"> <img src="imagesCartes/DT.png" width="50" height="73">
        <input type="checkbox" name="VT" value="42"> <img src="imagesCartes/VT.png" width="50" height="73">
        <input type="checkbox" name="10T" value="43"> <img src="imagesCartes/10T.png" width="50" height="73">
        <input type="checkbox" name="9T" value="44"> <img src="imagesCartes/9T.png" width="50" height="73">
        <input type="checkbox" name="8T" value="45"> <img src="imagesCartes/8T.png" width="50" height="73">
        <input type="checkbox" name="7T" value="46"> <img src="imagesCartes/7T.png" width="50" height="73">
        <input type="checkbox" name="6T" value="47"> <img src="imagesCartes/6T.png" width="50" height="73">
        <input type="checkbox" name="5T" value="48"> <img src="imagesCartes/5T.png" width="50" height="73">
        <input type="checkbox" name="4T" value="49"> <img src="imagesCartes/4T.png" width="50" height="73">
        <input type="checkbox" name="3T" value="50"> <img src="imagesCartes/3T.png" width="50" height="73">
        <input type="checkbox" name="2T" value="51"> <img src="imagesCartes/2T.png" width="50" height="73"><br>
        <input type="submit" value="Valider">
        </form>';
    }?>

    page2.php qui s'appelle MainJoueur.php

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    <?php
    
    echo "Vous avez le jeu suivant :  <br/>";
    
    // CARTES PIQUE
    $i=0;
    if (isset($_POST['1P']))
    {
           echo '<img src="imagesCartes/1P.png" width="50" height="73">';
           $MaMain[$i]=0; $i++;
    }
    if (isset($_POST['RP']))
    {
           echo '<img src="imagesCartes/RP.png" width="50" height="73">';
           $MaMain[$i]=1; $i++;
    }
    if (isset($_POST['DP']))
    {
           echo '<img src="imagesCartes/DP.png" width="50" height="73">';
           $MaMain[$i]=2; $i++;
    }
    if (isset($_POST['VP']))
    {
           echo '<img src="imagesCartes/VP.png" width="50" height="73">';
           $MaMain[$i]=3; $i++;
    }
    if (isset($_POST['10P']))
    {
           echo '<img src="imagesCartes/10P.png" width="50" height="73">';
           $MaMain[$i]=4; $i++;
    }
    if (isset($_POST['9P']))
    {
           echo '<img src="imagesCartes/9P.png" width="50" height="73">';
           $MaMain[$i]=5; $i++;
    }
    if (isset($_POST['8P']))
    {
           echo '<img src="imagesCartes/8P.png" width="50" height="73">';
           $MaMain[$i]=6; $i++;
    }
    if (isset($_POST['7P']))
    {
           echo '<img src="imagesCartes/7P.png" width="50" height="73">';
           $MaMain[$i]=7; $i++;
    }
    if (isset($_POST['6P']))
    {
           echo '<img src="imagesCartes/6P.png" width="50" height="73">';
           $MaMain[$i]=8; $i++;
    }
    if (isset($_POST['5P']))
    {
           echo '<img src="imagesCartes/5P.png" width="50" height="73">';
           $MaMain[$i]=9; $i++;
    }
    if (isset($_POST['4P']))
    {
           echo '<img src="imagesCartes/4P.png" width="50" height="73">';
           $MaMain[$i]=10; $i++;
    }
    if (isset($_POST['3P']))
    {
           echo '<img src="imagesCartes/3P.png" width="50" height="73">';
           $MaMain[$i]=11; $i++;
    }
    if (isset($_POST['2P']))
    {
           echo '<img src="imagesCartes/2P.png" width="50" height="73">';
           $MaMain[$i]=12; $i++;
    }
    
    // CARTES Coeur
    
    if (isset($_POST['1C']))
    {
           echo '<img src="imagesCartes/1C.png" width="50" height="73">';
           $MaMain[$i]=13; $i++;
    }
    if (isset($_POST['RC']))
    {
           echo '<img src="imagesCartes/RC.png" width="50" height="73">';
           $MaMain[$i]=14; $i++;
    }
    if (isset($_POST['DC']))
    {
           echo '<img src="imagesCartes/DC.png" width="50" height="73">';
           $MaMain[$i]=15; $i++;
    }
    if (isset($_POST['VC']))
    {
           echo '<img src="imagesCartes/VC.png" width="50" height="73">';
           $MaMain[$i]=16; $i++;
    }
    if (isset($_POST['10C']))
    {
           echo '<img src="imagesCartes/10C.png" width="50" height="73">';
           $MaMain[$i]=17; $i++;
    }
    if (isset($_POST['9C']))
    {
           echo '<img src="imagesCartes/9C.png" width="50" height="73">';
           $MaMain[$i]=18; $i++;
    }
    if (isset($_POST['8C']))
    {
           echo '<img src="imagesCartes/8C.png" width="50" height="73">';
           $MaMain[$i]=19; $i++;
    }
    if (isset($_POST['7C']))
    {
           echo '<img src="imagesCartes/7C.png" width="50" height="73">';
           $MaMain[$i]=20; $i++;
    }
    if (isset($_POST['6C']))
    {
           echo '<img src="imagesCartes/6C.png" width="50" height="73">';
           $MaMain[$i]=21; $i++;
    }
    if (isset($_POST['5C']))
    {
           echo '<img src="imagesCartes/5C.png" width="50" height="73">';
           $MaMain[$i]=22; $i++;
    }
    if (isset($_POST['4C']))
    {
           echo '<img src="imagesCartes/4C.png" width="50" height="73">';
           $MaMain[$i]=23; $i++;
    }
    if (isset($_POST['3C']))
    {
           echo '<img src="imagesCartes/3C.png" width="50" height="73">';
           $MaMain[$i]=24; $i++;
    }
    if (isset($_POST['2C']))
    {
           echo '<img src="imagesCartes/2C.png" width="50" height="73">';
           $MaMain[$i]=25; $i++;
    }
    
    // CARTES CARREAU
    
    if (isset($_POST['1K']))
    {
           echo '<img src="imagesCartes/1K.png" width="50" height="73">';
           $MaMain[$i]=26; $i++;
    }
    if (isset($_POST['RK']))
    {
           echo '<img src="imagesCartes/RK.png" width="50" height="73">';
           $MaMain[$i]=27; $i++;
    }
    if (isset($_POST['DK']))
    {
           echo '<img src="imagesCartes/DK.png" width="50" height="73">';
           $MaMain[$i]=28; $i++;
    }
    if (isset($_POST['VK']))
    {
           echo '<img src="imagesCartes/VK.png" width="50" height="73">';
           $MaMain[$i]=29; $i++;
    }
    if (isset($_POST['10K']))
    {
           echo '<img src="imagesCartes/10K.png" width="50" height="73">';
           $MaMain[$i]=30; $i++;
    }
    if (isset($_POST['9K']))
    {
           echo '<img src="imagesCartes/9K.png" width="50" height="73">';
           $MaMain[$i]=31; $i++;
    }
    if (isset($_POST['8K']))
    {
           echo '<img src="imagesCartes/8K.png" width="50" height="73">';
           $MaMain[$i]=32; $i++;
    }
    if (isset($_POST['7K']))
    {
           echo '<img src="imagesCartes/7K.png" width="50" height="73">';
           $MaMain[$i]=33; $i++;
    }
    if (isset($_POST['6K']))
    {
           echo '<img src="imagesCartes/6K.png" width="50" height="73">';
           $MaMain[$i]=34; $i++;
    }
    if (isset($_POST['5K']))
    {
           echo '<img src="imagesCartes/5K.png" width="50" height="73">';
           $MaMain[$i]=35; $i++;
    }
    if (isset($_POST['4K']))
    {
           echo '<img src="imagesCartes/4K.png" width="50" height="73">';
           $MaMain[$i]=36; $i++;
    }
    if (isset($_POST['3K']))
    {
           echo '<img src="imagesCartes/3K.png" width="50" height="73">';
           $MaMain[$i]=37; $i++;
    }
    if (isset($_POST['2K']))
    {
           echo '<img src="imagesCartes/2K.png" width="50" height="73">';
           $MaMain[$i]=38; $i++;
    }
    
    // CARTES TREFLE
    
    if (isset($_POST['1T']))
    {
           echo '<img src="imagesCartes/1T.png" width="50" height="73">';
           $MaMain[$i]=39; $i++;
    }
    if (isset($_POST['RT']))
    {
           echo '<img src="imagesCartes/RT.png" width="50" height="73">';
           $MaMain[$i]=40; $i++;
    }
    if (isset($_POST['DT']))
    {
           echo '<img src="imagesCartes/DT.png" width="50" height="73">';
           $MaMain[$i]=41; $i++;
    }
    if (isset($_POST['VT']))
    {
           echo '<img src="imagesCartes/VT.png" width="50" height="73">';
           $MaMain[$i]=42; $i++;
    }
    if (isset($_POST['10T']))
    {
           echo '<img src="imagesCartes/10T.png" width="50" height="73">';
           $MaMain[$i]=43; $i++;
    }
    if (isset($_POST['9T']))
    {
           echo '<img src="imagesCartes/9T.png" width="50" height="73">';
           $MaMain[$i]=44; $i++;
    }
    if (isset($_POST['8T']))
    {
           echo '<img src="imagesCartes/8T.png" width="50" height="73">';
           $MaMain[$i]=45; $i++;
    }
    if (isset($_POST['7T']))
    {
           echo '<img src="imagesCartes/7T.png" width="50" height="73">';
           $MaMain[$i]=46; $i++;
    }
    if (isset($_POST['6T']))
    {
           echo '<img src="imagesCartes/6T.png" width="50" height="73">';
           $MaMain[$i]=47; $i++;
    }
    if (isset($_POST['5T']))
    {
           echo '<img src="imagesCartes/5T.png" width="50" height="73">';
           $MaMain[$i]=48; $i++;
    }
    if (isset($_POST['4T']))
    {
           echo '<img src="imagesCartes/4T.png" width="50" height="73">';
           $MaMain[$i]=49; $i++;
    }
    if (isset($_POST['3T']))
    {
           echo '<img src="imagesCartes/3T.png" width="50" height="73">';
           $MaMain[$i]=50; $i++;
    }
    if (isset($_POST['2T']))
    {
           echo '<img src="imagesCartes/2T.png" width="50" height="73">';
           $MaMain[$i]=51; $i++;
    }
    
    echo "<br/>";
    print_r($MaMain); 
    echo "<br/>";
    
    
    echo '<b>Choix des cartes pour le flop :</b>';
    echo '<form method="POST" action="AfterFlop.php">
        <input type="hidden" name="MaMain[0]" value="<?php echo $MaMain[0]; ?>">
        <input type="hidden" name="MaMain[1]" value="<?php echo $MaMain[1]; ?>">
        <input type="checkbox" name="1P" value="0"> <img src="imagesCartes/1P.png" width="50" height="73">
        <input type="checkbox" name="RP" value="1"> <img src="imagesCartes/RP.png" width="50" height="73">
        <input type="checkbox" name="DP" value="2"> <img src="imagesCartes/DP.png" width="50" height="73">
        <input type="checkbox" name="VP" value="3"> <img src="imagesCartes/VP.png" width="50" height="73">
        <input type="checkbox" name="10P" value="4"> <img src="imagesCartes/10P.png" width="50" height="73">
        <input type="checkbox" name="9P" value="5"> <img src="imagesCartes/9P.png" width="50" height="73">
        <input type="checkbox" name="8P" value="6"> <img src="imagesCartes/8P.png" width="50" height="73">
        <input type="checkbox" name="7P" value="7"> <img src="imagesCartes/7P.png" width="50" height="73">
        <input type="checkbox" name="6P" value="8"> <img src="imagesCartes/6P.png" width="50" height="73">
        <input type="checkbox" name="5P" value="9"> <img src="imagesCartes/5P.png" width="50" height="73">
        <input type="checkbox" name="4P" value="10"> <img src="imagesCartes/4P.png" width="50" height="73">
        <input type="checkbox" name="3P" value="11"> <img src="imagesCartes/3P.png" width="50" height="73">
        <input type="checkbox" name="2P" value="12"> <img src="imagesCartes/2P.png" width="50" height="73"><br>
        <input type="checkbox" name="1C" value="13"> <img src="imagesCartes/1C.png" width="50" height="73">
        <input type="checkbox" name="RC" value="14"> <img src="imagesCartes/RC.png" width="50" height="73">
        <input type="checkbox" name="DC" value="15"> <img src="imagesCartes/DC.png" width="50" height="73">
        <input type="checkbox" name="VC" value="16"> <img src="imagesCartes/VC.png" width="50" height="73">
        <input type="checkbox" name="10C" value="17"> <img src="imagesCartes/10C.png" width="50" height="73">
        <input type="checkbox" name="9C" value="18"> <img src="imagesCartes/9C.png" width="50" height="73">
        <input type="checkbox" name="8C" value="19"> <img src="imagesCartes/8C.png" width="50" height="73">
        <input type="checkbox" name="7C" value="20"> <img src="imagesCartes/7C.png" width="50" height="73">
        <input type="checkbox" name="6C" value="21"> <img src="imagesCartes/6C.png" width="50" height="73">
        <input type="checkbox" name="5C" value="22"> <img src="imagesCartes/5C.png" width="50" height="73">
        <input type="checkbox" name="4C" value="23"> <img src="imagesCartes/4C.png" width="50" height="73">
        <input type="checkbox" name="3C" value="24"> <img src="imagesCartes/3C.png" width="50" height="73">
        <input type="checkbox" name="2C" value="25"> <img src="imagesCartes/2C.png" width="50" height="73"><br>
        <input type="checkbox" name="1K" value="26"> <img src="imagesCartes/1K.png" width="50" height="73">
        <input type="checkbox" name="RK" value="27"> <img src="imagesCartes/RK.png" width="50" height="73">
        <input type="checkbox" name="DK" value="28"> <img src="imagesCartes/DK.png" width="50" height="73">
        <input type="checkbox" name="VK" value="29"> <img src="imagesCartes/VK.png" width="50" height="73">
        <input type="checkbox" name="10K" value="30"> <img src="imagesCartes/10K.png" width="50" height="73">
        <input type="checkbox" name="9K" value="31"> <img src="imagesCartes/9K.png" width="50" height="73">
        <input type="checkbox" name="8K" value="32"> <img src="imagesCartes/8K.png" width="50" height="73">
        <input type="checkbox" name="7K" value="33"> <img src="imagesCartes/7K.png" width="50" height="73">
        <input type="checkbox" name="6K" value="34"> <img src="imagesCartes/6K.png" width="50" height="73">
        <input type="checkbox" name="5K" value="35"> <img src="imagesCartes/5K.png" width="50" height="73">
        <input type="checkbox" name="4K" value="36"> <img src="imagesCartes/4K.png" width="50" height="73">
        <input type="checkbox" name="3K" value="37"> <img src="imagesCartes/3K.png" width="50" height="73">
        <input type="checkbox" name="2K" value="38"> <img src="imagesCartes/2K.png" width="50" height="73"><br>
        <input type="checkbox" name="1T" value="39"> <img src="imagesCartes/1T.png" width="50" height="73">
        <input type="checkbox" name="RT" value="40"> <img src="imagesCartes/RT.png" width="50" height="73">
        <input type="checkbox" name="DT" value="41"> <img src="imagesCartes/DT.png" width="50" height="73">
        <input type="checkbox" name="VT" value="42"> <img src="imagesCartes/VT.png" width="50" height="73">
        <input type="checkbox" name="10T" value="43"> <img src="imagesCartes/10T.png" width="50" height="73">
        <input type="checkbox" name="9T" value="44"> <img src="imagesCartes/9T.png" width="50" height="73">
        <input type="checkbox" name="8T" value="45"> <img src="imagesCartes/8T.png" width="50" height="73">
        <input type="checkbox" name="7T" value="46"> <img src="imagesCartes/7T.png" width="50" height="73">
        <input type="checkbox" name="6T" value="47"> <img src="imagesCartes/6T.png" width="50" height="73">
        <input type="checkbox" name="5T" value="48"> <img src="imagesCartes/5T.png" width="50" height="73">
        <input type="checkbox" name="4T" value="49"> <img src="imagesCartes/4T.png" width="50" height="73">
        <input type="checkbox" name="3T" value="50"> <img src="imagesCartes/3T.png" width="50" height="73">
        <input type="checkbox" name="2T" value="51"> <img src="imagesCartes/2T.png" width="50" height="73"><br>
        <input type="submit" value="Valider">
        </form>';
    
    ?>

    page3.php qui s'appelle AfterFlop.php

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    <?php
    
    // CARTES PIQUE
    $i=0;
    if (isset($_POST['1P']))
    {
           echo '<img src="imagesCartes/1P.png" width="50" height="73">';
           $Flop[$i]=0; $i++;
    }
    if (isset($_POST['RP']))
    {
           echo '<img src="imagesCartes/RP.png" width="50" height="73">';
           $Flop[$i]=1; $i++;
    }
    if (isset($_POST['DP']))
    {
           echo '<img src="imagesCartes/DP.png" width="50" height="73">';
           $Flop[$i]=2; $i++;
    }
    if (isset($_POST['VP']))
    {
           echo '<img src="imagesCartes/VP.png" width="50" height="73">';
           $Flop[$i]=3; $i++;
    }
    if (isset($_POST['10P']))
    {
           echo '<img src="imagesCartes/10P.png" width="50" height="73">';
           $Flop[$i]=4; $i++;
    }
    if (isset($_POST['9P']))
    {
           echo '<img src="imagesCartes/9P.png" width="50" height="73">';
           $Flop[$i]=5; $i++;
    }
    if (isset($_POST['8P']))
    {
           echo '<img src="imagesCartes/8P.png" width="50" height="73">';
           $Flop[$i]=6; $i++;
    }
    if (isset($_POST['7P']))
    {
           echo '<img src="imagesCartes/7P.png" width="50" height="73">';
           $Flop[$i]=7; $i++;
    }
    if (isset($_POST['6P']))
    {
           echo '<img src="imagesCartes/6P.png" width="50" height="73">';
           $Flop[$i]=8; $i++;
    }
    if (isset($_POST['5P']))
    {
           echo '<img src="imagesCartes/5P.png" width="50" height="73">';
           $Flop[$i]=9; $i++;
    }
    if (isset($_POST['4P']))
    {
           echo '<img src="imagesCartes/4P.png" width="50" height="73">';
           $Flop[$i]=10; $i++;
    }
    if (isset($_POST['3P']))
    {
           echo '<img src="imagesCartes/3P.png" width="50" height="73">';
           $Flop[$i]=11; $i++;
    }
    if (isset($_POST['2P']))
    {
           echo '<img src="imagesCartes/2P.png" width="50" height="73">';
           $Flop[$i]=12; $i++;
    }
    
    // CARTES Coeur
    
    if (isset($_POST['1C']))
    {
           echo '<img src="imagesCartes/1C.png" width="50" height="73">';
           $Flop[$i]=13; $i++;
    }
    if (isset($_POST['RC']))
    {
           echo '<img src="imagesCartes/RC.png" width="50" height="73">';
           $Flop[$i]=14; $i++;
    }
    if (isset($_POST['DC']))
    {
           echo '<img src="imagesCartes/DC.png" width="50" height="73">';
           $Flop[$i]=15; $i++;
    }
    if (isset($_POST['VC']))
    {
           echo '<img src="imagesCartes/VC.png" width="50" height="73">';
           $Flop[$i]=16; $i++;
    }
    if (isset($_POST['10C']))
    {
           echo '<img src="imagesCartes/10C.png" width="50" height="73">';
           $Flop[$i]=17; $i++;
    }
    if (isset($_POST['9C']))
    {
           echo '<img src="imagesCartes/9C.png" width="50" height="73">';
           $Flop[$i]=18; $i++;
    }
    if (isset($_POST['8C']))
    {
           echo '<img src="imagesCartes/8C.png" width="50" height="73">';
           $Flop[$i]=19; $i++;
    }
    if (isset($_POST['7C']))
    {
           echo '<img src="imagesCartes/7C.png" width="50" height="73">';
           $Flop[$i]=20; $i++;
    }
    if (isset($_POST['6C']))
    {
           echo '<img src="imagesCartes/6C.png" width="50" height="73">';
           $Flop[$i]=21; $i++;
    }
    if (isset($_POST['5C']))
    {
           echo '<img src="imagesCartes/5C.png" width="50" height="73">';
           $Flop[$i]=22; $i++;
    }
    if (isset($_POST['4C']))
    {
           echo '<img src="imagesCartes/4C.png" width="50" height="73">';
           $Flop[$i]=23; $i++;
    }
    if (isset($_POST['3C']))
    {
           echo '<img src="imagesCartes/3C.png" width="50" height="73">';
           $Flop[$i]=24; $i++;
    }
    if (isset($_POST['2C']))
    {
           echo '<img src="imagesCartes/2C.png" width="50" height="73">';
           $Flop[$i]=25; $i++;
    }
    
    // CARTES CARREAU
    
    if (isset($_POST['1K']))
    {
           echo '<img src="imagesCartes/1K.png" width="50" height="73">';
           $Flop[$i]=26; $i++;
    }
    if (isset($_POST['RK']))
    {
           echo '<img src="imagesCartes/RK.png" width="50" height="73">';
           $Flop[$i]=27; $i++;
    }
    if (isset($_POST['DK']))
    {
           echo '<img src="imagesCartes/DK.png" width="50" height="73">';
           $Flop[$i]=28; $i++;
    }
    if (isset($_POST['VK']))
    {
           echo '<img src="imagesCartes/VK.png" width="50" height="73">';
           $Flop[$i]=29; $i++;
    }
    if (isset($_POST['10K']))
    {
           echo '<img src="imagesCartes/10K.png" width="50" height="73">';
           $Flop[$i]=30; $i++;
    }
    if (isset($_POST['9K']))
    {
           echo '<img src="imagesCartes/9K.png" width="50" height="73">';
           $Flop[$i]=31; $i++;
    }
    if (isset($_POST['8K']))
    {
           echo '<img src="imagesCartes/8K.png" width="50" height="73">';
           $Flop[$i]=32; $i++;
    }
    if (isset($_POST['7K']))
    {
           echo '<img src="imagesCartes/7K.png" width="50" height="73">';
           $Flop[$i]=33; $i++;
    }
    if (isset($_POST['6K']))
    {
           echo '<img src="imagesCartes/6K.png" width="50" height="73">';
           $Flop[$i]=34; $i++;
    }
    if (isset($_POST['5K']))
    {
           echo '<img src="imagesCartes/5K.png" width="50" height="73">';
           $Flop[$i]=35; $i++;
    }
    if (isset($_POST['4K']))
    {
           echo '<img src="imagesCartes/4K.png" width="50" height="73">';
           $Flop[$i]=36; $i++;
    }
    if (isset($_POST['3K']))
    {
           echo '<img src="imagesCartes/3K.png" width="50" height="73">';
           $Flop[$i]=37; $i++;
    }
    if (isset($_POST['2K']))
    {
           echo '<img src="imagesCartes/2K.png" width="50" height="73">';
           $Flop[$i]=38; $i++;
    }
    
    // CARTES TREFLE
    
    if (isset($_POST['1T']))
    {
           echo '<img src="imagesCartes/1T.png" width="50" height="73">';
           $Flop[$i]=39; $i++;
    }
    if (isset($_POST['RT']))
    {
           echo '<img src="imagesCartes/RT.png" width="50" height="73">';
           $Flop[$i]=40; $i++;
    }
    if (isset($_POST['DT']))
    {
           echo '<img src="imagesCartes/DT.png" width="50" height="73">';
           $Flop[$i]=41; $i++;
    }
    if (isset($_POST['VT']))
    {
           echo '<img src="imagesCartes/VT.png" width="50" height="73">';
           $Flop[$i]=42; $i++;
    }
    if (isset($_POST['10T']))
    {
           echo '<img src="imagesCartes/10T.png" width="50" height="73">';
           $Flop[$i]=43; $i++;
    }
    if (isset($_POST['9T']))
    {
           echo '<img src="imagesCartes/9T.png" width="50" height="73">';
           $Flop[$i]=44; $i++;
    }
    if (isset($_POST['8T']))
    {
           echo '<img src="imagesCartes/8T.png" width="50" height="73">';
           $Flop[$i]=45; $i++;
    }
    if (isset($_POST['7T']))
    {
           echo '<img src="imagesCartes/7T.png" width="50" height="73">';
           $Flop[$i]=46; $i++;
    }
    if (isset($_POST['6T']))
    {
           echo '<img src="imagesCartes/6T.png" width="50" height="73">';
           $Flop[$i]=47; $i++;
    }
    if (isset($_POST['5T']))
    {
           echo '<img src="imagesCartes/5T.png" width="50" height="73">';
           $Flop[$i]=48; $i++;
    }
    if (isset($_POST['4T']))
    {
           echo '<img src="imagesCartes/4T.png" width="50" height="73">';
           $Flop[$i]=49; $i++;
    }
    if (isset($_POST['3T']))
    {
           echo '<img src="imagesCartes/3T.png" width="50" height="73">';
           $Flop[$i]=50; $i++;
    }
    if (isset($_POST['2T']))
    {
           echo '<img src="imagesCartes/2T.png" width="50" height="73">';
           $Flop[$i]=51; $i++;
    }
    $MaMain = $_POST['MaMain'];
    echo "<br/>";
    print_r($MaMain); 
    echo "<br/>";
    print_r($Flop); 
    echo "<br/>";

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Petite précision : j'ai conscience que tout cela n'est pas optimisé

    Merci pour votre temps passé.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Image de la situation à l'execution :

    Nom : Capture d’écran 2020-04-27 à 15.51.08.png
Affichages : 79
Taille : 455,7 Ko

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Blub76 Voir le message
    Petite précision : j'ai conscience que tout cela n'est pas optimisé
    Tu m'étonnes...
    J'ai failli perdre un oeil en regardant tes codes ....

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Une fois ce constat fait, un deuxième constat qui m'embête plus, ca ne semble pas fonctionner.

    En effet, quand je lui demande d'afficher le tableau MaMain, il a bien conscience qu'il comporte 2 valeurs mais il ne les connait pas...

  12. #12
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    le 1er code peut se résumer à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if ( ! empty($_POST)) {
        echo '<pre>', print_r($_POST['choix'], true), '</pre><br>', 'Faire un autre test : <a href="MainJoueur.php">Tester à nouveau</a>';
    } else {
        echo 'Choix des cartes de votre main :';
        $enseignes = ['P', 'C', 'K', 'T'];
        $valeurs   = ['1', 'R', 'D', 'V', '10', '9', '8', '7', '6', '5', '4', '3', '2'];
        echo '<form method="POST" action="MainJoueur.php">';
        foreach ($enseignes as $e) {
            foreach ($valeurs as $v) {
                $carte = $v.$e;
                echo <<<html
    <input type="checkbox" name="{$carte}" value="{$carte}"><img src="imagesCartes/{$carte}.png" width="50" height="73">
    html;
            }
        }
        echo '<input type="submit" value="Valider"></form>';
    }
    Après tu peux aussi utiliser avantageusement la notation tableau comme indiqué plus haut, dans ce style name="{$e}[{$v}]"

  13. #13
    Invité
    Invité(e)
    Par défaut
    @Blub76
    On ne peut vraiment pas dire que tu tires "avantages" des array PHP !

    Donc, j'ai repris tout ton code, et tout mis sur UNE SEULE PAGE.

    L'astuce ici est de regrouper tous les noms de cartes dans un array :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // -------------------------
    // array de toutes les cartes
    $deck_cards = [
    	'1P','RP','DP','VP','10P','9P','8P','7P','6P','5P','4P','3P','2P',
    	'1C','RC','DC','VC','10C','9C','8C','7C','6C','5C','4C','3C','2C',
    	'1K','RK','DK','VK','10K','9K','8K','7K','6K','5K','4K','3K','2K',
    	'1T','RT','DT','VT','10T','9T','8T','7T','6T','5T','4T','3T','2T'
    	];
    // -------------------------
    Comme tu as eu la TRÈS BONNE idée de nommer les images avec ces mêmes noms, ça va faciliter leur affichage.

    Ensuite, j'ai créé 2 array :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $hand = [];	// array
    $flop = [];	// array

    Voici le code complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    <?php if( empty(session_id()) ){ session_start(); }	// ouverture de SESSION (important)
    header('Content-type:text/html; charset=UTF-8');	// encodage UTF-8
    error_reporting(E_ALL); 	// en TEST !!
    // -------------------------
    // Gestion d'erreurs
    $msg_err = '';
    // -------------------------
    // ETAPE (step)
    if( !empty($_GET['step']) )
    {
    	$step = $_GET['step'];
    }
    if( !empty($_POST['step']) )
    {
    	$step = $_POST['step'];
    }
    if( empty($step) )
    {
    	$step = 1;
    }
    // -------------------------
    // array de toutes les cartes
    $deck_cards = [
    	'1P','RP','DP','VP','10P','9P','8P','7P','6P','5P','4P','3P','2P',
    	'1C','RC','DC','VC','10C','9C','8C','7C','6C','5C','4C','3C','2C',
    	'1K','RK','DK','VK','10K','9K','8K','7K','6K','5K','4K','3K','2K',
    	'1T','RT','DT','VT','10T','9T','8T','7T','6T','5T','4T','3T','2T'
    	];
    // -------------------------
    $hand = [];	// array
    $flop = [];	// array
    // -------------------------
    // TRAITEMENT ETAPE 2
    if( isset($_POST['goto2']) && $step == 2 )
    {
    	if( empty($_POST['hand']) || count($_POST['hand']) != 2 ) // 2 cartes
    	{
    		$msg_err = 'Vous devez choisir 2 cartes';
    		$step = 1; // retour étape 1
    	}
    	if( !empty($_POST['hand']) )
    	{
    		$hand = $_POST['hand']; // array
    	}
    }
    // -------------------------
    // TRAITEMENT ETAPE 3
    if( isset($_POST['goto3']) && $step == 3 )
    {
    	if( !empty($_POST['hand']) )
    	{
    		$hand = $_POST['hand']; // array
    	}
    	if( empty($_POST['flop']) || count($_POST['flop']) != 3 ) // 3 cartes
    	{
    		$msg_err = 'Vous devez choisir 3 cartes';
    		$step = 2; // retour étape 2
    	}
    	if( !empty($_POST['flop']) )
    	{
    		$flop = $_POST['flop']; // array
    	}
    }
    // -------------------------
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
    	<title>Poker</title>
    <style>
    /* images des cartes */
    label { position:relative; }
    input[type=checkbox] { position:absolute; visibility:hidden; } /* on masque les checkbox */
    img { display:inline-block; width:100px; height:146px; }
    input[type=checkbox] + img { width:50px; height:73px; border:5px solid transparent; }
    input[type=checkbox]:checked + img { border:5px solid green; }
    input[type=checkbox]:disabled + img { border:5px solid lightgrey; opacity:0.5; }
     
    /* error */
    .msg-err { padding:10px; border:1px solid red; color:red; }
    </style>
    </head>
    <body>
    <?php if( !empty($msg_err) ){ ?>
    	<p class="msg-err"><?php echo $msg_err; ?></p>
    <?php } ?>
     
     
    <?php 
    // -------------------------
    // ETAPE 1
    if( $step == 1 )
    {
    ?>
    <h4>Choix des cartes de votre main (2 cartes) :</h4>
    <form method="post" action="">
    	<input type="hidden" name="step" value="2" />
    <?php  // on affiche toutes les cartes
    	foreach( $deck_cards as $idx => $deck_card )
    	{
    		if($idx%13==0){ echo '<br/>'; }
    		$checked = ( !empty($hand) && in_array($deck_card, $hand) )? ' checked="checked"' : '';	// on précoche les choix (si existants)
    ?>
    	<label><input type="checkbox" name="hand[]" value="<?=$deck_card;?>"<?=$checked;?>><img src="imagesCartes/<?=$deck_card;?>.png" alt="<?=$deck_card;?>" /></label>
    <?php 
    	}
    ?>
        <p><input type="submit" name="goto2" value="Valider"></p>
    </form>
    <?php 
    }
    // -------------------------
    // ETAPE 2
    elseif( $step == 2 )
    {
    ?>
    <h4>Votre main :</h4>
    <?php  // on affiche la main (hand)
    	foreach( $hand as $idx => $card )
    	{
    ?>
    	<img src="imagesCartes/<?=$card;?>.png" alt="<?=$card;?>" />
    <?php 
    	}
    ?>
    <h4>Choix des cartes pour le flop (3 cartes) :</h4>
    <form method="post" action="">
    	<input type="hidden" name="step" value="3" />
    <?php // on transmet la main (hand)
    	foreach( $hand as $idx => $card )
    	{
    ?>
    	<input type="hidden" name="hand[]" value="<?=$card;?>" />
    <?php 
    	}
    ?>
    <?php  // on affiche toutes les cartes
    	foreach( $deck_cards as $idx => $deck_card )
    	{
    		if($idx%13==0){ echo '<br/>'; } // passage à la ligne toutes les 13 cartes
    		$disabled = ( !empty($hand) && in_array($deck_card, $hand) )? ' disabled="disabled"' : '';	// on désactive les cartes déjà tirées
    		$checked = ( !empty($flop) && in_array($deck_card, $flop) )? ' checked="checked"' : '';	// on précoche les choix (si existants)
    ?>
    	<label><input type="checkbox" name="flop[]" value="<?=$deck_card;?>"<?=$checked;?><?=$disabled;?>><img src="imagesCartes/<?=$deck_card;?>.png" alt="<?=$deck_card;?>" /></label>
    <?php 
    	}
    ?>
        <p><input type="submit" name="goto3" value="Valider"></p>
    </form>
     
    <?php 
    }
    // -------------------------
    // ETAPE 3
    elseif( $step == 3 )
    {
    ?>
    <h4>Votre main :</h4>
    <?php  // on affiche la main (hand)
    	foreach( $hand as $idx => $card )
    	{
    ?>
    	<img src="imagesCartes/<?=$card;?>.png" alt="<?=$card;?>" />
    <?php 
    	}
    ?>
    <h4>Le flop :</h4>
    <?php  // on affiche le flop
    	foreach( $flop as $idx => $card )
    	{
    ?>
    	<img src="imagesCartes/<?=$card;?>.png" />
    <?php 
    	}
    ?>
    <?php // ICI, il te reste à AFFICHER LES STATISTIQUES
    // .......
     
    ?>
    <p>Faire un autre test : <a href="?step=1">Tester à nouveau</a></p>
    <?php 
    }
    // -------------------------
    ?>
    </body>
    </html>
    N.B. Sur le même principe, tu peux ajouter la "river" et le "turn".
    Dernière modification par Invité ; 27/04/2020 à 21h07.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Merci pour toutes ces informations !

    J'avais prévenu : je suis un novice, je code mal

    Je vais tester ton code demain matin et je te fais un retour. (je vais aussi essayer de comprendre tout cela).
    Merci aussi à rawsrc.

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Salut,

    J'ai repris ton code qui m'a fait rêvé !
    Cartes déjà sélectionnées pré-cochées, disparition des checkbox, tout sur une page, .... , j'ai tenté, j'ai abandonné

    Alors, je comprends grosso modo ce que tu as fait et je vois donc l'écart intersidéral entre un codeur averti et un codeur par un dimanche de confinement

    Je vais continuer et je reviens vers ici si je rencontre un soucis !

    Merci !

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    j'ai écrit le code de façon la plus claire et lisible possible, avec des commentaires.
    Il n'y a rien de compliqué.
    Néanmoins, si tu ne comprends pas certains passages *, n'hésite pas à demander.

    N.B.
    • "river" et "turn" se gèrent/programment comme des étapes supplémentaires.
    • j'ai mis à jour mon message précédent (ajout de commentaires,...)


    * Exemples :
    1-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($idx%13==0){ echo '<br/>'; }
    Ici, tous les multiples de 13 renvoient 0 (ajoute un passage à la ligne entre les 4 couleurs)
    -> Astuce du modulo :
    • $a % $b = Reste de $a divisé par $b

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		$checked = ( !empty($hand) && in_array($deck_card, $hand) )? ' checked="checked"' : '';	// on précoche les choix (si existants)
    C'est l'opérateur ternaire :
    • $var = (condition)? (si vrai) : (si faux);

    Equivalent à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    		// on précoche les choix (si existants)
    		if( !empty($hand) && in_array($deck_card, $hand) ){
    			$checked =  ' checked="checked"';
    		} else {
    			$checked =  '';	
    		}
    Dernière modification par Invité ; 28/04/2020 à 09h05.

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Ok, merci !
    T'es un boss

    J'avais compris le modulo, belle prouesse pour un prof de maths / physique, n'est il pas !

  18. #18
    Invité
    Invité(e)
    Par défaut
    Zut, j'ai perdu !
    J'avais parié que tu étais prof. de français ! (pas de fautes d'orthographe, rédaction didactique,...)

    (pour info, j'avais eu 19/20 au BAC en Physique )

    Par contre, pour la suite (statistiques), je n'ai aucune idée de comment tu comptes traiter les données.

    Cela dit, on peut récupérer l'index de chaque carte avec array_search() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id_card = array_search($card, $deck_cards);
    ex. (dans ETAPE 3) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <h4>Votre main :</h4>
    <?php  // on affiche la main (hand)
    	foreach( $hand as $idx => $card )
    	{
    ?>
    	<img src="imagesCartes/<?=$card;?>.png" alt="<?=$card;?>" /><?=$card; // nom de la carte ?>(<?=array_search($card, $deck_cards); // index de la carte ?>)
    <?php 
    	}
    ?>
    <h4>Le flop :</h4>
    <?php  // on affiche le flop
    	foreach( $flop as $idx => $card )
    	{
    ?>
    	<img src="imagesCartes/<?=$card;?>.png" /><?=$card; // nom de la carte ?>(<?=array_search($card, $deck_cards); // index de la carte ?>)
    <?php 
    	}
    ?>

  19. #19
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Arf, oh non !!! Génétiquement, je ne pouvais pas devenir prof de français !
    Bravo pour la note de physique, tu m'aurais eu comme prof, tu aurais eu 20 /20 =)

    Pour traiter la suite, il me faut :
    un tableau avec ma main $MaMain[]
    un tableau avec le flop $Flop[]
    un tableau avec les cartes restantes en jeu après Flop $CartesApresFlop[]
    -> avec ca je fais ma recette
    un tableau avec le turn $Turn[]
    un tableau avec les cartes restantes en jeu après Turn $CartesApresTurn[]
    -> avec ca je fais ma recette
    un tableau avec le river $River[]
    un tableau avec les cartes restantes en jeu après River $CartesApresRiver[]
    -> avec ca je fais ma recette

    Pour la suite, j'ai déjà codé :
    -> recherche de l'ensemble des combinaisons possibles après flop (ma main, la main des adversaires) avec des permutations, des tris, ...
    -> de même après Turn et River.
    -> évaluation des mains

    Il me reste :
    -> Classement des mains (easy)
    -> calcul des stats (ca sera assez simple je pense)

    On fonction des mains à évaluer, j'utilise la couleur des cartes, la force de la carte croissante, décroissante, ... Bref un beau merdier avec mes codes non optimisés
    Mais ca donne un truc comme cela (j'effectuais un tirage aléatoire, pas de choix carte par carte) :
    Nom : Capture d’écran 2020-04-28 à 09.46.44.png
Affichages : 67
Taille : 291,3 Ko

    J'ai pris le soin de coder le coeur du programme avant la déco, tu m'as bien fait avancer !

  20. #20
    Invité
    Invité(e)
    Par défaut
    Code avec river + turn + mêmes noms que tes variables :

    Code complet (+ fonction d'affichage des contenus des array, en TEST) :
    N.B. On peut encore nettement SIMPLIFIER ce code, notamment en utilisant des variables de SESSION pour stocker les données (au lieu de les transmettre à chaque fois dans les formulaires).

    [EDIT] -> voir message suivant !
    Dernière modification par Invité ; 28/04/2020 à 11h16.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/08/2009, 10h19
  2. récuperer des données depuis un formulaire
    Par anaaa dans le forum Langage
    Réponses: 2
    Dernier message: 03/12/2007, 11h34
  3. Réponses: 2
    Dernier message: 10/09/2007, 16h40
  4. Pb de récuperation de données d un formulaire
    Par xtiand4 dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2006, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo