ホームページ > バックエンド開発 > PHPの問題 > PHPログイン認証ジャンプページ

PHPログイン認証ジャンプページ

WBOY
リリース: 2023-05-06 09:09:07
オリジナル
907 人が閲覧しました

Web 開発では、ログイン検証は一般的な機能です。ユーザーがログイン ページでユーザー名とパスワードを入力した後、サーバーはその情報が正しいかどうかを確認する必要があります。入力された情報が正しければ、サーバーはユーザーがログインを必要とするページにアクセスできるようにします。それ以外の場合、サーバーはユーザーのアクセスを拒否するか、ログイン ページにジャンプしてユーザー名とパスワードを再入力します。 PHP では、ログイン検証を実装して指定したページにジャンプすることは比較的簡単です。これを実現するには、いくつかの PHP 関連の関数とテクニックを使用するだけで済みます。この記事では、PHPを使用してログイン認証を実装し、指定したページにジャンプする方法を紹介します。

  1. ログイン ページと検証ページの構築

まず、ログイン ページと検証ページを作成する必要があります。ログイン ページには、ユーザー名とパスワードを入力するフォームが必要です。検証ページでは、ユーザーが入力した情報が正しいかどうかを検証するための PHP スクリプトが必要です。この例では、最初にプロセスを簡略化し、ユーザー名とパスワードを PHP スクリプトに記述し、その後データベースに拡張します。

以下は簡単なログイン ページの例です:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>登录页面</title>
</head>
<body>
  <h1>登录</h1>
  <form method="post" action="login.php">
    <label for="username">用户名:</label><input type="text" name="username"><br/>
    <label for="password">密码:</label><input type="password" name="password"><br/>
    <input type="submit" value="登录">
  </form>
</body>
</html>
ログイン後にコピー

このページでは、ユーザーがユーザー名とパスワードを入力できるフォームを設定します。フォームの action 属性は「login.php」に設定されます。これは、フォーム データが POST を通じて login.php という名前の PHP スクリプトに送信されることを意味します。

以下は簡単な検証ページの例です:

<?php
session_start(); // 启动会话

// 确定正确的用户名和密码
$valid_username = 'user';
$valid_password = 'password';

// 获取用户输入的用户名和密码
$username = isset($_POST['username']) ? $_POST['username'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';

// 验证用户名和密码
if ($username === $valid_username && $password === $valid_password) {
  $_SESSION['username'] = $username; // 记录登录状态
  header('Location: main.php'); // 跳转到主页面
} else {
  echo '用户名或密码错误。';
}
?>
ログイン後にコピー

このページでは、まず PHP セッションを開始して、ログイン プロセス中のユーザーのステータスを記録します。次に、正しいユーザー名とパスワードを定義します。これはコードに記述されているだけですが、実際のアプリケーションではデータベースからクエリする必要があります。次に、ユーザーが入力したユーザー名とパスワードを取得し、正しいユーザー名とパスワードと比較します。ユーザー名とパスワードが一致する場合は、$_SESSION 配列を使用してユーザー名を記録し (後のページ検証用)、main.php という名前のページにジャンプします。それ以外の場合は、エラー メッセージが出力され、現在のページに留まります。

  1. ユーザーがログインしているかどうかを確認する

ログイン プロセス中に、ユーザーのユーザー名情報が記録されます。ログイン ステータスの検証が必要なページでは、この情報を使用してユーザーがログインしているかどうかを判断できます。ユーザーがすでにログインしている場合は、ページのコンテンツを直接表示できますが、そうでない場合、ユーザーはログイン ページにジャンプして再度ログインする必要があります。

以下は簡単な例です:

<?php
session_start(); // 启动会话

if (!isset($_SESSION['username'])) {
  header('Location: login.php'); // 跳转到登录页面
  die(); //结束执行当前命令
}

echo '欢迎你,' . $_SESSION['username'] . '。';
?>
ログイン後にコピー

このページでは、まずセッションを開始します。次に、isset 関数を使用して、$_SESSION 配列にユーザー名情報が含まれているかどうかを確認します。含まれていない場合は、ヘッダー関数を使用してログインページにジャンプします。含めると、必要なページのコンテンツを表示できます。

  1. 完全な例

次に、ログイン ページ、検証ページ、メイン ページを含む完全な例を示します。

ログイン ページ (login.php) :

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>登录页面</title>
</head>
<body>
  <h1>登录</h1>
  <form method="post" action="login.php">
    <label for="username">用户名:</label><input type="text" name="username"><br/>
    <label for="password">密码:</label><input type="password" name="password"><br/>
    <input type="submit" value="登录">
  </form>
</body>
</html>


ログイン後にコピー

認証ページ (main.php) :

<?php
session_start(); // 启动会话

if (!isset($_SESSION['username'])) {
  header('Location: login.php'); // 跳转到登录页面
  die(); //结束执行当前命令
}
?>

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>主页面</title>
</head>
<body>
  <h1>欢迎你,<?php echo $_SESSION['username']; ?>。</h1>
  <p>这里是主页面。</p>
</body>
</html>
ログイン後にコピー

この例では、最初に各ページでセッションを開始しました。ユーザーがログインに成功すると (つまり、login.php ページに正しいユーザー名とパスワードを入力すると)、ユーザー名情報がセッション配列 $_SESSION に記録されます。メイン ページでは、セッション配列 $_SESSION にユーザー名が含まれているかどうかを確認します。含まれていない場合は、ヘッダー関数を使用してログインページ(login.php)にジャンプし、再度ログインしてください。

ユーザーが正しいログイン情報を入力すると、ログイン ページ (login.php) からメイン ページ (main.php) にすぐにジャンプし、ウェルカム メッセージが表示されます。ユーザーがログインしていないか、ログインが無効な場合は、すぐにログイン ページ (login.php) にジャンプして再度ログインします。

概要

PHP でログイン認証ジャンプ ページを実装するのは非常に簡単です。まず、ログイン ページと検証ページを作成する必要があります。次に、検証ページには、ユーザーが入力した情報が正しいかどうかを検証するための基本的な PHP コードが必要です。情報が正しければ、ユーザーのステータスが $_SESSION に記録され、ジャンプします。指定したページへ。ログインステータスを確認する必要があるページでは、$_SESSION 内のレコード情報を使用するだけです。このようにして、ログイン認証が必要なすべてのページにログイン ユーザーのみがアクセスできるようにし、Web サイトのセキュリティと機能を確保できます。

以上がPHPログイン認証ジャンプページの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート