Partage
  • Partager sur Facebook
  • Partager sur Twitter

[cours TP mdp] code en 3 parties

Sujet résolu
    26 septembre 2021 à 17:17:44

    Bonjour,

    A la fin du TP du cours "Page protégée par mot de passe", il est proposé d'afficher le message "Mot de passe incorrect" en cas d'erreur sur le mot de passe.

    Ce que je veux faire :

    - Quand l'utilisateur n'entre rien dans la zone de texte et clique sur "Valider", il ne se passe rien (la page formulaire se réaffiche à l'identique)

    - Quand l'utilisateur entre un mauvais mot de passe, le message "Mot de passe incorrect" s'affiche et invite à retourner au formulaire.

    - Si le mot de passe est le bon, la page avec les codes s'affiche.

    J'ai tenté ce code :

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>Page protegee par mot de passe</title>
    	</head>
    
    <?php
    	// Si le mot de passe n'a pas été envoyé 
    	if (!isset($_POST['mdp']))
    		{
    ?>
    		<form method="POST" action="formulairesolo_mdp.php">
    			<p>
    				Veuillez entrer un mot de passe : <br /><br />
    				<label>Zone : <input type="password" name="mdp" /></label>
    				<input type="submit" value="Valider" />
    			</p>		
    		</form>	
    		
    <?php				
    		}
    	// Si le mot de passe n'est pas le bon
    	elseif ($_POST['mdp']!="kangourou") 
    		{
    			echo '<p>Vous n\'avez pas entré le bon mot de passe !</p>';
    			echo '<p> Si vous voulez rentrer un nouveau mot de passe, vous pouvez <a href="formulairesolo_mdp.php">cliquer ici</a> pour revenir au formulaire</p>';	
    		}
    
    	// Le mot de passe a été envoyé et il est bon
    	else
    		{
    ?>
    		<h1>Voici les codes d'accès :</h1>
    			<p><strong>CRD5-GTFT-CK65</strong></p>
    			<p>
    			Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />
    			La NASA vous remercie de votre visite.
    			</p>
    <?php		
    		}
    ?>
    </html>

    Seulement, même si l'utilisateur ne rentre rien, le message "Mot de passe incorrect" s'affiche... Il semble sortir de la condition du if !isset($_POST['mdp'])

    Avez-vous des suggestions ?

    Merci par avance :)

    • Partager sur Facebook
    • Partager sur Twitter
      26 septembre 2021 à 17:29:13

      C'est normal la chaîne vide est une valeur (= ça existe) et fait que le test if (!isset($_POST['mdp'])) est faux.

      Sinon tu remplaces if (!isset($_POST['mdp'])) par if (empty($_POST['mdp'])).

      -
      Edité par julp 26 septembre 2021 à 17:29:44

      • Partager sur Facebook
      • Partager sur Twitter
        26 septembre 2021 à 18:38:58

        Merci Julp,

        ça marche bien avec if (empty($_POST['mdp']))

        Bonne soirée

        • Partager sur Facebook
        • Partager sur Twitter
          26 septembre 2021 à 19:29:25

          Bonsoir,

          Tu as oublié de mettre la balise "body" en html qui est indispensable

          • Partager sur Facebook
          • Partager sur Twitter

          [cours TP mdp] code en 3 parties

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown