Web開発では、ユーザーのログインとログアウトは、最も基本的で重要な機能の1つです。この記事では、簡単な例を使用して、PHP関数を使用して完全なユーザーログインとログアウトプロセスを実装する方法を詳細に説明します。
まず、ユーザーのユーザー名とパスワードを保存するためにデータベースを作成する必要があります。以下は、データベースとデータテーブルを作成するためのSQLコードの例です。
データベースuser_infoを作成します。 user_infoを使用してください。 テーブルユーザーを作成します( id int auto_incrementプライマリキー、 ユーザー名前varchar(255)nullではなく、 パスワードvarchar(255)nullではありません );
次に、ユーザーが入力したアカウント番号とパスワードを収集するには、ログインフォームページが必要です。
<!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>
ユーザーがフォームを送信すると、ログイン処理ページにジャンプします。このページでは、アカウントのパスワードを確認し、セッションを有効にします。
<?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 ['username'] = $ username; ヘッダー( '場所:welcome.php'); } それ以外 { echo '無効なユーザー名前またはパスワード。'; } ?>
正常にログインした後、ウェルカムページにジャンプします。ログインしていない場合は、ログインページに自動的にリダイレクトされます。
<?php session_start(); if (isset($_SESSION['username'])) { $username = $_SESSION['username']; echo "Welcome, $username! "; echo '<a href="logout.php"> logout '; } それ以外 { ヘッダー( '場所:login.php'); } ?>
ユーザーがクリックしてログアウトした後、セッションをクリアしてログインページにリダイレクトする必要があります。
<?php session_start(); session_unset(); session_destroy(); header('Location: login.php'); ?>
MySQLデータベースと組み合わせたPHPを介して、簡単なユーザーログインとログアウト関数をすばやく実装できます。実際のプロジェクト( Password_hash()を使用するなど)でパスワードを暗号化および保存し、検証コード機能を追加し、準備したステートメントを使用してSQLインジェクションを防ぎ、システムセキュリティを強化するなどすることをお勧めします。