Maison > Questions et réponses > le corps du texte
<?php // var_dump($_GET['action']); var_dump($_POST); if ($_GET['action'] == 'login') { if($_POST['name']=='admin' && $_POST['pwd']==123456){ setcookie('username',$_POST['name'],time()+3600*24); header('Location:index.php'); } else { echo '<script> alert("您输入了错误的用户名或密码!");</script>'; } } elseif ($_GET['action']=='logout') { setcookie('name','',time()-3600);//注销cookie } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>用户登录</title> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>?action=login" method="post"> <fieldset> <legend>用户登陆:</legend> <label for="name">用户名:</label> <input type="text" name="name" id="name"/> <label for="pwd">密码:</label> <input type="password" name="pwd" id="pwd"/> <input type="submit" value="提交"> </fieldset> </form> </body> </html>
Lors de la saisie de l'administrateur 123, l'affichage est le suivant :
Lors de la saisie de l'administrateur 123456, l'erreur est la suivante :
Je crois comprendre que, puisqu'un mauvais mot de passe peut être saisi en passant la valeur de l'action lorsque vous cliquez sur Soumettre. Portez un jugement après l'instruction if de premier niveau. Pourquoi le nom d'utilisateur et le mot de passe corrects ne peuvent-ils pas transmettre la valeur d'action dans l'instruction if de premier niveau lors de la soumission ?