ホームページ > バックエンド開発 > PHPチュートリアル > PHP フォーム処理: Cookie を使用して Remember me 機能を実装する

PHP フォーム処理: Cookie を使用して Remember me 機能を実装する

王林
リリース: 2023-08-10 17:00:01
オリジナル
1230 人が閲覧しました

PHP フォーム処理: Cookie を使用して Remember me 機能を実装する

PHP フォーム処理: Cookie を使用して記憶機能を実装する

Web 開発では、ユーザーがログインする状況が頻繁に発生します。ユーザー エクスペリエンスを向上させるために、Cookie テクノロジーを使用して「記憶」機能を実装することができます。これにより、ユーザーは次回 Web ページにアクセスするときに再度ログインする必要がなくなります。この記事では、PHP を使用してフォームを処理し、この機能を実現するために Cookie を使用する方法を紹介します。

  1. HTML フォームのデザイン
    まず、ユーザーがユーザー名とパスワードを入力できるようにし、ログイン ステータスを記憶するかどうかをユーザーが選択できるチェックボックスを提供する HTML フォームを作成する必要があります。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>登录</title>

</head>

<body>

    <form action="login.php" method="POST">

        <label for="username">用户名:</label>

        <input type="text" id="username" name="username"><br><br>

        <label for="password">密码:</label>

        <input type="password" id="password" name="password"><br><br>

        <label for="remember">记住我:</label>

        <input type="checkbox" id="remember" name="remember"><br><br>

        <input type="submit" value="登录">

    </form>

</body>

</html>

ログイン後にコピー
  1. PHP フォーム処理
    ログイン フォームのデータを処理するために、login.php という名前の PHP ファイルを作成します。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<?php

if($_SERVER['REQUEST_METHOD'] == 'POST'){

    // 获取表单提交的用户名和密码

    $username = $_POST['username'];

    $password = $_POST['password'];

 

    // 验证用户名和密码是否正确

    if($username == 'admin' && $password == '123456'){

        // 如果用户选择记住登录状态,则设置Cookie保存用户名和密码

        if(isset($_POST['remember'])){

            setcookie('username', $username, time()+3600*24*7); // 保存7天

            setcookie('password', $password, time()+3600*24*7);

        }

 

        // 登录成功后,跳转到其他页面

        header("Location: welcome.php");

    }else{

        echo '用户名或密码错误!';

    }

}

?>

ログイン後にコピー

上記のコードでは、$_POST 配列を使用してフォーム内のユーザー名とパスワードを取得します。そして、あらかじめ設定されているユーザー名やパスワードと比較することで、ユーザーの入力が正しいかどうかを判定します。ユーザー名とパスワードが正しい場合は、ユーザーが「Remember Me」オプションを選択したかどうかを確認します。このオプションが選択されている場合、Cookie は setcookie 関数を通じて設定され、ユーザー名とパスワードが保存されます。この関数は 7 日間有効です。

最後に、header 関数を通じてユーザーを welcome.php ページにリダイレクトします。ログインに失敗した場合はエラーメッセージが出力されます。

  1. ウェルカム ページ
    welcome.php という名前の PHP ファイルを作成し、ユーザーが正常にログインした後にウェルカム ページを表示します。このページでは、Cookie 内のユーザー名に基づいてユーザーを歓迎できます。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>欢迎</title>

</head>

<body>

    <?php

        if(isset($_COOKIE['username'])){

            $username = $_COOKIE['username'];

            echo '<h1>欢迎回来,'.$username.'!</h1>';

        }else{

            echo '<h1>请先登录!</h1>';

        }

    ?>

</body>

</html>

ログイン後にコピー

上記のコードでは、isset($_COOKIE['username']) を使用して、ユーザー名が Cookie に保存されているかどうかを判断します。存在する場合は、$_COOKIE['username'] を通じてユーザー名を取得し、ページにウェルカム メッセージを出力します。それ以外の場合は、最初にユーザーにログインするように求めます。

上記の手順により、単純な PHP ログイン フォームを実装し、Cookie を使用して「remember me」機能を実装できます。ユーザーが「記憶する」オプションをチェックしてログインに成功すると、次回 Web ページにアクセスしたときに自動的にログインします。

以上がPHP フォーム処理: Cookie を使用して Remember me 機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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