PHP を使用して正常なログイン ジャンプを作成する方法

PHPz
リリース: 2023-04-19 14:10:14
オリジナル
1051 人が閲覧しました

PHP は、ネットワーク開発で広く使用されているサーバー側スクリプト言語であり、動的な Web ページの作成や Web アプリケーションの開発に使用できます。 Web サイト開発では、ログイン システムは非常に一般的な機能であり、ログインに成功した後に指定されたページにジャンプすることもユーザー エクスペリエンスの重要な部分です。この記事では、PHP を使用してログインジャンプを成功させる関数を記述する方法を紹介します。

1. フォーム ページの作成

まず、ユーザーがユーザー名とパスワードを入力できるログイン ページを作成する必要があります。このページを読みやすくするには、HTML で CSS スタイルを使用してページを美しくします。フォーム ページには次のコンテンツが含まれている必要があります:

  • ログイン フォーム;
  • ユーザー名とパスワードの入力ボックスを含むフォーム;
  • を使用してフォームを送信するボタンPOST メソッド;
  • エラー メッセージを入力します。

HTML コードは次のとおりです:

<!DOCTYPE html>
<html>
<head>
    <title>登陆页面</title>
    <style>
        body{
            background-color: #F4F4F4;
        }
        
        .login{
            margin: 100px auto;
            border: 1px solid #ccc;
            width: 400px;
            background-color: #fff;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 0 10px #ccc;
        }
        
        input[type=text], input[type=password]{
            width: 100%;
            padding: 10px;
            margin: 8px 0;
            display: inline-block;
            border: 1px solid #ccc;
            box-sizing: border-box;
            border-radius: 5px;
        }
        
        button[type=submit]{
            background-color: #4CAF50;
            color: white;
            padding: 10px 18px;
            margin: 8px 0;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        
        button[type=submit]:hover{
            background-color: #45a049;
        }
        
        .error{
            color: red;
        }
    </style>
</head>
<body>
    <div class="login">
        <h2>登陆页面</h2>
        <form action="process.php" method="POST">
            <label for="username">用户名</label>
            <input type="text" id="username" name="username" placeholder="请输入用户名">
            <label for="password">密码</label>
            <input type="password" id="password" name="password" placeholder="请输入密码">
            <button type="submit">登陆</button>
            <?php
                if(isset($_GET[&#39;error&#39;])){
                    if($_GET[&#39;error&#39;] == &#39;empty&#39;){
                        echo "<p class=&#39;error&#39;>请输入所有字段!</p>";
                    }
                    elseif ($_GET['error'] == 'wrong') {
                        echo "<p class=&#39;error&#39;>请输入正确的用户名和密码!</p>";
                    }
                }
            ?>
        </form>
    </div>
</body>
</html>
ログイン後にコピー

2. ユーザー名とパスワードの確認

次に、ユーザーが入力したユーザー名とパスワードが正しいかどうかを確認する必要があります。は正しい。サーバー側で PHP を使用してこのプロセスを実装できます。まず、サーバー側で process.php ファイルを作成する必要があります。このファイルはフォーム データを受け取り、ユーザー名とパスワードが正しいことを確認します。正しい場合は、ユーザーをこのファイル内の別のページにリダイレクトします。

<?php
    session_start();
    if(isset($_POST[&#39;username&#39;]) && isset($_POST[&#39;password&#39;])){
        include &#39;db_connection.php&#39;;
        $username = $_POST[&#39;username&#39;];
        $password = $_POST[&#39;password&#39;];
        if(empty($username) || empty($password)){
            header("Location: index.php?error=empty");
            exit();
        }
        else{
            $sql = "SELECT * FROM users WHERE username=&#39;$username&#39; AND password=&#39;$password&#39;";
            $result = mysqli_query($conn, $sql);
            if(mysqli_num_rows($result) === 1){
                $row = mysqli_fetch_assoc($result);
                if($row[&#39;username&#39;] === $username && $row[&#39;password&#39;] === $password){
                    $_SESSION[&#39;username&#39;] = $row[&#39;username&#39;];
                    header("Location: welcome.php");
                    exit();
                }
            }
            else{
                header("Location: index.php?error=wrong");
                exit();
            }
        }
    }
    else{
        header("Location: index.php");
        exit();
    }
?>
ログイン後にコピー

上記のコードでは、まず session_start() 関数を使用して新しいセッションを開きます。次に、ユーザー名とパスワードが $_POST 配列に存在するかどうかを確認します。データベース接続変数が存在する場合は、データベースからユーザー データを取得する必要があるため、db_connection.php ファイルからデータベース接続変数をインポートします。次に、if ステートメントを使用して、入力されたフィールドが空かどうかを確認します。空の場合、ユーザーは元のフォーム ページにリダイレクトされ、URL にエラー コードが含まれます。

入力フィールドが空でない場合は、データベース内のユーザーのレコードを取得できます。ユーザー名とパスワードが一致するレコードを取得した場合は、そのユーザー名を $_SESSION に保存し、header() 関数を使用してユーザーを welcome.php ページにリダイレクトできます。データベースにそのようなレコードがない場合は、ユーザーを元のフォーム ページにリダイレクトし、URL にエラー コードを含めます。

3. ウェルカム ページを作成する

最後に、ユーザーが正常にログインした後にリダイレクトされるウェルカム ページを作成する必要があります。ウェルカム ページには、ウェルカム メッセージと、ユーザーがログアウトしてログアウトできるボタンを表示するだけです。

<!DOCTYPE html>
<html>
<head>
    <title>欢迎页</title>
</head>
<body>
    <h1>欢迎</h1>
    <p>您已经成功登陆, <?php echo $_SESSION[&#39;username&#39;]; ?>!</p>
    <a href="logout.php">注销</a>
</body>
</html>
ログイン後にコピー

ようこそページでは、PHP の $_SESSION メカニズムを使用して現在のユーザー名を表示します。また、ページの logout.php ファイルを通じて、ログアウト機能を実装するページへのリンクも追加しました。

4. ログアウト関数を実装する

最後に、PHP を使用して logout.php ファイルを作成し、ログアウト関数を実装する必要があります。

<?php
    session_start();
    session_unset();
    session_destroy();
    header("Location: index.php");
    exit();
?>
ログイン後にコピー

logout.php ファイルでは、まず session_start() 関数を使用してセッションを開始します。 session_unset() 関数と session_destroy() 関数を使用して、すべてのセッション データをクリアし、ユーザーをホームページにリダイレクトします。これにより、「ログアウト」リンクをクリックした後にユーザーがログアウトされます。

概要

この記事では、PHP を使用してログイン ジャンプを成功させる簡単なシステムを作成する方法を紹介しました。 PHP と MySQL を使用すると、フォームの送信時にユーザー名とパスワードを検証し、検証が成功した後にユーザーを別のページにリダイレクトし、エラーが発生した場合にユーザーを元のフォーム ページに戻します。また、現在ログインしているユーザー名をウェルカム ページに表示する方法と、logout.php ファイルにログアウト機能を追加する方法についても説明しました。これは、訪問者に Web サイトで優れたユーザー エクスペリエンスを提供できる、シンプルですが機能的なログイン成功リダイレクト システムです。

以上がPHP を使用して正常なログイン ジャンプを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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