Bonjour,
Voilà, j'ai fait un petit code, un simple affichage de boutons allant de 0 à 9 (sous forme de formulaire), afin d'entrer un code caché.
Voici donc à quoi ressemble le code et il fonctionne.
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 <?php session_start(); $code='085208'; // Déclarer le code $code=str_split($code); // Mettre le code dans un tableau if(isset($_POST['send'])){ if(isset($_SESSION['chiffre5'])) { if(isset($_POST['send']) && $_POST['send']==$code[5]){ // Chiffre 6 $_SESSION['chiffre6'] = $_POST['send']; echo 'Code complété : ' . $_SESSION['chiffre1'] . ' ' . $_SESSION['chiffre2'] . ' ' . $_SESSION['chiffre3'] . ' ' . $_SESSION['chiffre4'] . ' ' . $_SESSION['chiffre5'] . ' ' . $_SESSION['chiffre6']; echo '<br>Félicitations, vous avez débloqué le <a href="Shifumi/index.php" target="_blank">shifumi</a>'; } else { unset($_SESSION['chiffre1']); unset($_SESSION['chiffre2']); unset($_SESSION['chiffre3']); unset($_SESSION['chiffre4']); unset($_SESSION['chiffre5']); echo $fail; } } else { if(isset($_SESSION['chiffre4'])) { if(isset($_POST['send']) && $_POST['send']==$code[4]){ // Chiffre 5 $_SESSION['chiffre5'] = $_POST['send']; echo $_SESSION['chiffre1'] . ' ' . $_SESSION['chiffre2'] . ' ' . $_SESSION['chiffre3'] . ' ' . $_SESSION['chiffre4'] . ' ' . $_SESSION['chiffre5'] . ' _'; } else { unset($_SESSION['chiffre1']); unset($_SESSION['chiffre2']); unset($_SESSION['chiffre3']); unset($_SESSION['chiffre4']); echo $fail; } } else { if(isset($_SESSION['chiffre3'])) { if(isset($_POST['send']) && $_POST['send']==$code[3]){ // Chiffre 4 $_SESSION['chiffre4'] = $_POST['send']; echo $_SESSION['chiffre1'] . ' ' . $_SESSION['chiffre2'] . ' ' . $_SESSION['chiffre3'] . ' ' . $_SESSION['chiffre4'] . ' _ _'; } else { unset($_SESSION['chiffre1']); unset($_SESSION['chiffre2']); unset($_SESSION['chiffre3']); echo $fail; } } else { if(isset($_SESSION['chiffre2'])){ if(isset($_POST['send']) && $_POST['send']==$code[2]){ // Chiffre 3 $_SESSION['chiffre3'] = $_POST['send']; echo $_SESSION['chiffre1'] . ' ' . $_SESSION['chiffre2'] . ' ' . $_SESSION['chiffre3'] . ' _ _ _'; } else { unset($_SESSION['chiffre1']); unset($_SESSION['chiffre2']); echo $fail; } } else { if(isset($_SESSION['chiffre1'])){ if(isset($_POST['send']) && $_POST['send']==$code[1]){ // Chiffre 2 $_SESSION['chiffre2'] = $_POST['send']; echo $_SESSION['chiffre1'] . ' ' . $_SESSION['chiffre2'] . ' _ _ _ _'; } else { unset($_SESSION['chiffre1']); echo $fail; } } else { if(isset($_POST['send']) && $_POST['send']==$code[0]){ // Chiffre 1 $_SESSION['chiffre1'] = $_POST['send']; echo $_SESSION['chiffre1'] . ' _ _ _ _ _'; } elseif (isset($_POST['send']) && $_POST['send']!=$code[0]){ echo '_ _ _ _ _ _<br>Raté'; } } } } } } } elseif(!isset($_POST['send']) && !isset($_SESSION['chiffre6'])) { echo '_ _ _ _ _ _'; } elseif(!isset($_POST['send']) && isset($_SESSION['chiffre6'])) { echo 'Code complété : ' . $_SESSION['chiffre1'] . ' ' . $_SESSION['chiffre2'] . ' ' . $_SESSION['chiffre3'] . ' ' . $_SESSION['chiffre4'] . ' ' . $_SESSION['chiffre5'] . ' ' . $_SESSION['chiffre6']; echo '<br>Félicitations, vous avez débloqué le <a href="Shifumi/index.php" target="_blank">shifumi</a>'; } if(!isset($_SESSION['chiffre6'])): echo ' <table> <form method="post"> <tr> <td><input type="submit" name="send" value="1" class="boutonCache"></td> <td><input type="submit" name="send" value="2" class="boutonCache"></td> <td><input type="submit" name="send" value="3" class="boutonCache"></td> </tr> <tr> <td><input type="submit" name="send" value="4" class="boutonCache"></td> <td><input type="submit" name="send" value="5" class="boutonCache"></td> <td><input type="submit" name="send" value="6" class="boutonCache"></td> </tr> <tr> <td><input type="submit" name="send" value="7" class="boutonCache"></td> <td><input type="submit" name="send" value="8" class="boutonCache"></td> <td><input type="submit" name="send" value="9" class="boutonCache"></td> </tr> <tr> <td></td> <td><input type="submit" name="send" value="0" class="boutonCache"></td> </tr> </form> </table>'; else: echo '<br><br><a href="?resetJeu">Réafficher le formulaire</a>'; endif; if(isset($_GET['resetJeu'])) { unset($_SESSION['chiffre1']); unset($_SESSION['chiffre2']); unset($_SESSION['chiffre3']); unset($_SESSION['chiffre4']); unset($_SESSION['chiffre5']); unset($_SESSION['chiffre6']); header("location: ".$_SERVER["PHP_SELF"]); } ?>
L'utilisateur a donc un code à 6 chiffres à entrer en appuyant sur les boutons du formulaire, et le code s'actualise chiffre par chiffre.
Je me demandais s'il n'y avait pas une condition plus simple pour effectuer ce genre de test... (je me suis aussi peut-être un peu compliqué la vie en faisant les conditions à l'envers (le premier if test le dernier chiffre du code... oups, mais j'étais plus dans l'optique "si le chiffre 6 n'existe pas, on teste le chiffre 5", etc...)
J'aimerais voir et comprendre comment l'optimisation de code fonctionne.
Merci
Partager