現在の位置: ホーム> 最新記事一覧> PHP関数を使用してユーザーログインおよびログアウト関数を実装する方法は?

PHP関数を使用してユーザーログインおよびログアウト関数を実装する方法は?

M66 2025-06-05

PHPのユーザーログインとログアウト関数の概要

Web開発では、ユーザーのログインとログアウトは、最も基本的で重要な機能の1つです。この記事では、簡単な例を使用して、PHP関数を使用して完全なユーザーログインとログアウトプロセスを実装する方法を詳細に説明します。

ステップ1:ユーザー情報データベースを作成します

まず、ユーザーのユーザー名とパスワードを保存するためにデータベースを作成する必要があります。以下は、データベースとデータテーブルを作成するためのSQLコードの例です。

データベースuser_infoを作成します。
user_infoを使用してください。
テーブルユーザーを作成します(
  id int auto_incrementプライマリキー、
  ユーザー名前varchar(255)nullではなく、
  パスワードvarchar(255)nullではありません
);

ステップ2:ユーザーログインページを書き込みます

次に、ユーザーが入力したアカウント番号とパスワードを収集するには、ログインフォームページが必要です。

<!DOCTYPE html>
<html>
<head>
  <title>ログイン</title>
</head>
<body>
  <h1>ログイン</h1>
  <form action="login.php" method="POST">
    <label for="username">ユーザー名前:</label>
    <input type="text" name="username" id="username" required><br>
    <label for="password">パスワード:</label>
    <input type="password" name="password" id="password" required><br>
    <input type="submit" value="ログイン">
  </form>
</body>
</html>

ステップ3:ログイン要求を処理します

ユーザーがフォームを送信すると、ログイン処理ページにジャンプします。このページでは、アカウントのパスワードを確認し、セッションを有効にします。

<?php
session_start();

// フォームデータを取得します
$username = $_POST['username'];
$password = $_POST['password'];

// データベースに接続します
$mysqli = new mysqli('localhost', 'username', 'password', 'user_info');

// ユーザー情報をクエリします
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = $mysqli->クエリ($ query);

//ログインステータスを裁判官if($ result-> num_rows == 1){
  $ _Session [&#39;username&#39;] = $ username;
  ヘッダー( &#39;場所:welcome.php&#39;);
} それ以外 {
  echo &#39;無効なユーザー名前またはパスワード。&#39;;
}
?>

ステップ4:ウェルカムページを作成します

正常にログインした後、ウェルカムページにジャンプします。ログインしていない場合は、ログインページに自動的にリダイレクトされます。

<?php
session_start();

if (isset($_SESSION['username'])) {
  $username = $_SESSION['username'];
  echo "Welcome, $username! ";
  echo '<a href="logout.php"> logout &#39;;
} それ以外 {
  ヘッダー( &#39;場所:login.php&#39;);
}
?>

ステップ5:ログアウト関数を作成します

ユーザーがクリックしてログアウトした後、セッションをクリアしてログインページにリダイレクトする必要があります。

<?php
session_start();
session_unset();
session_destroy();

header('Location: login.php');
?>

要約します

MySQLデータベースと組み合わせたPHPを介して、簡単なユーザーログインとログアウト関数をすばやく実装できます。実際のプロジェクト( Password_hash()を使用するなど)でパスワードを暗号化および保存し、検証コード機能を追加し、準備したステートメントを使用してSQLインジェクションを防ぎ、システムセキュリティを強化するなどすることをお勧めします。