Bonjour,
Je suis débutante sur php. J'ai écumé tous le sforums et la doc officielle, mais je n'arrive pas à mes fins sur un problème hyper simple.
Voici ce que je souhaite faire :
Un utilisateur a une seule chance pour rentrer un code. S'il échoue au bout de la 1ère fois, il a perdu, il ne peut plus recommencer.
J'ai été voir du côté des sessions, mais je suis bloqué. En fait j'ai réussi à faire fonctionner mes formulaires mais là le coup du nombre limité de mot de passe, c'est au dessus de mes capacités.
Déjà première question : où dois-je mettre la condition : en entrée de page en comptant le nombre de venu du visiteur sur ma première page ?
ou bien dois-je construire le truc à partir du nombre de clic sur le bouton valider (mais il me semble que ce n'est pas possible sur php) ?
J'ai vu beaucoup de choses avec la question du login et du mot de passe mais mon visiteur n'a ps de login.
Il vient "anonymement" sur la page et il a une seule chance de rentrer le code.. point...
J'ai pensé à un truc en parcourant des tutos ... voici le code de départ :
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 <?php // si le cookie existe, session_start() va chercher les infos de la session correspondante (qui sont situées sur le serveur, elles, contrairement au cookie) pour remplir le tableau $_SESSION // sinon il va générer un id et l'envoyer au navigateur par cookie pour que celui-ci le retienne, et créer un tableau $_SESSION vide // après le navigateur choisit de garder ou non le cookie qui a été envoyé, c'est là le problème session_start(); if(isset($_SESSION['nb_venues'])) { // si une valeur a déjà été sauvegardée pour cet id // on l'affiche puis on l'incrémente echo "Vous êtes déjà passé {$_SESSION['nb_venues']} fois sur cette page !"; $_SESSION['nb_venues']++; } else { // sinon // on l'initialise pour la prochaine fois qu'on passera ici echo "Je ne vous ai jamais vu, non ?"; $_SESSION['nb_venues'] = 0; } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Coffre</title> </head> <body> <p>Voici le coffre fort privé attribué à Hubert de Sacinay.</p> <p> Il vous faut retrouver le code et le rentrer ici pour pouvoir l'ouvrir.</p> <img class='alignnone size-full wp-image-7258' src='http:adresse de l'image.jpg' alt='E2 - écran coffre ouvert' width='842' height='595'/>" <p> Bonne chance </p> <form action="contenu coffre.php" method="post"> <p> <input type="password" name="mot_de_passe" /> <input type="submit" value="Valider" /> </p> </form> </body> </html>
Je voudrais faire un truc dans le genre :
Bien sur ce code ne marche pas.....
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 <?php // si le cookie existe, session_start() va chercher les infos de la session correspondante (qui sont situées sur le serveur, elles, contrairement au cookie) pour remplir le tableau $_SESSION // sinon il va générer un id et l'envoyer au navigateur par cookie pour que celui-ci le retienne, et créer un tableau $_SESSION vide // après le navigateur choisit de garder ou non le cookie qui a été envoyé, c'est là le problème session_start(); if(isset($_SESSION['nb_venues'])) { // si une valeur a déjà été sauvegardée pour cet id // on l'affiche puis on l'incrémente echo "Vous avez perdu"; $_SESSION['nb_venues']++; } else { // sinon // on l'initialise pour la prochaine fois qu'on passera ici echo " Voici le coffre fort privé attribué à Hubert de Sacinay. Il vous faut retrouver le code et le rentrer ici pour pouvoir l'ouvrir. <img class='alignnone size-full wp-image-7258' src='http://adresse de l'image' alt='E2 - écran coffre ouvert' width='842' height='595'/>" Bonne chance <form action="contenu coffre.php" method="post"> <p> <input type="password" name="mot_de_passe" /> <input type="submit" value="Valider" /> </p> </form>; $_SESSION['nb_venues'] = 0; } ?>
Un énorme merci aux personnes qui prendront la peine de lire ceci et d'y répondre
Partager