我的布尔代码无法正常工作,因为通知用户名和密码错误

时间:2019-07-08 14:54:04

标签: php html

我正在为登录页面编写代码布尔值,并设置用户名和密码(如果为true),该用户名和密码将定向到新页面,但是如果为false,我想在该用户名和密码错误的情况下打印通知,但我编写的代码没有要做到这一点,我需要帮助,我的代码有什么问题吗?

我试图找到我的代码有什么问题,并在互联网上寻找它,但我不知道该怎么办,我是学生

<?php
if( isset($_POST["submit"]) ){
if( $_POST["username"] == "admin" && $_POST["password"] == "123" ){
  header("Location: admin.php");
  exit;
} else {
  $error = true;
}
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
 <title>Login</title>
</head>
<body>
<h1>login admin</h1>
<?php if ( isset($error) ) : ?>
  <p style="color: red; font-style: italic">wrong username or password! 
   </p>
<?php endif; ?>
<ul>

<form action="admin.php" method="post">
  <li>
    <label for="username">username : </label>
    <input type="text" name="username" id="username">
  </li>
  <li>
    <label for="password">password : </label>
    <input type="password" name="password" id="password">
  </li>
  <li>
    <button type="submit" name="submit">Login</button>
  </li>
</form>

如果用户名和密码错误,我希望打印一条通知

2 个答案:

答案 0 :(得分:0)

我的猜测是,实际上您希望当前脚本处理该表单时,您的表单将直接发布到admin.php

从您的表单中删除action="admin.php",以便其自动发布。然后,当脚本处理表单时,它将为您处理重定向。

<form method="post">
   ...

OR

将操作更改为当前脚本的名称。

<form action="name_of_script.php" method="post">
   ...

您丢失了结束的</body></html>标签。

答案 1 :(得分:-2)

你是这个意思吗?

        if (isset($_POST["submit"])) {
            if ($_POST["username"] == "admin" && $_POST["password"] == "123") {
                header("Location: admin.php");
                exit;
            } else {
                echo 'username or password is incorrect';
                exit;
            }
        }