用php语言写一个登录页面的模块

kjpbkngj1年前 ⋅ 948 阅读
以下是一个简单的PHP登录页面模块:

```php
<?php
session_start();

$username = "";     // 初始化用户名和密码为空
$password = "";
$errors = array();  // 存储错误消息

// 当用户点击登录按钮时执行
if (isset($_POST['login_user'])) {
  $username = $_POST['username'];
  $password = $_POST['password'];

  // 如果用户名或密码为空,则添加错误消息
  if (empty($username)) {
    array_push($errors, "用户名不能为空");
  }
  if (empty($password)) {
    array_push($errors, "密码不能为空");
  }

  // 如果没有错误,则验证用户名和密码
  if (count($errors) == 0) {
    if ($username == "admin" && $password == "123456") {    // 假设用户名为admin,密码为123456
      $_SESSION['username'] = $username;       // 创建一个新的session变量
      header('location: welcome.php');         // 重定向到欢迎页面
    } else {
      array_push($errors, "用户名或密码错误");  // 如果用户名或密码不正确,则添加错误消息
    }
  }
}
?>

<!DOCTYPE html>
<html>
<head>
  <title>登录页面</title>
</head>
<body>

  <h2>登录</h2>

  <!-- 显示错误消息 -->
  <?php if (count($errors) > 0) : ?>
    <div>
      <?php foreach ($errors as $error) : ?>
        <p><?php echo $error ?></p>
      <?php endforeach ?>
    </div>
  <?php endif ?>

  <!-- 表单 -->
  <form method="post" action="login.php">
    <div>
      <label>用户名:</label>
      <input type="text" name="username" value="<?php echo $username ?>">
    </div>
    <div>
      <label>密码:</label>
      <input type="password" name="password">
    </div>
    <button type="submit" name="login_user">登录</button>
  </form>

</body>
</html>
```

上述代码中,我们使用了一个`$errors`数组来存储错误消息,并使用`array_push()`函数将错误消息添加到该数组中。我们还使用了`count()`函数来检查错误消息数组中是否有任何错误。

如果用户名和密码都有效,则我们在`$_SESSION`中创建一个新的变量`'username'`,然后使用`header()`函数将用户重定向到欢迎页面。

注意:为了使用`$_SESSION`,必须在所有页面中使用`session_start()`函数。


全部评论: 0

    相关推荐