Maison  >  Article  >  développement back-end  >  Comment réparer la connexion basée sur les cookies PHP en un seul geste

Comment réparer la connexion basée sur les cookies PHP en un seul geste

醉折花枝作酒筹
醉折花枝作酒筹original
2021-03-24 11:06:591833parcourir

De nos jours, nous implémentons principalement la fonction de connexion automatique par mot de passe basée sur les cookies des clients, et PHP ne fait pas exception. Les amis dans le besoin peuvent s'y référer.

Comment réparer la connexion basée sur les cookies PHP en un seul geste

L'idée de solution permettant à PHP de mémoriser les mots de passe et de se connecter automatiquement est en fait le fonctionnement de sessions et de cookies.

Tout d'abord, nous avons besoin d'un modèle HTML, dans lequel les éléments du formulaire sont écrits, le nom, le mot de passe et le bouton de connexion sont écrits, et le fichier s'appelle login.php. Notre page de connexion est principalement réalisée sur cette page. .

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>请登录</title>
</head>
<body>
<form method="post" action="login.php">
    姓名:<input type="text" name="username" />
    密码:<input type="password" name="password" />
    <input type="submit" name="submit" value="登录" />
</form>
</body>
</html>

Il ne suffit pas d'avoir le modèle HTML, nous devons transmettre la valeur. En supposant que ce site Web n'a qu'un seul membre (ou utilisateur), nous devons faire correspondre le nom avec celui de l'utilisateur. nom, tel que Non, vous ne pourrez pas vous connecter. Le code est le suivant :

if (isset($_POST[&#39;submit&#39;])) {
    if(isset($_POST[&#39;username&#39;]) && isset($_POST[&#39;password&#39;]) && $_POST[&#39;username&#39;]===&#39;cmcc&#39; && $_POST[&#39;password&#39;]===&#39;123456&#39;){
        if (setcookie(&#39;username&#39;,$_POST[&#39;username&#39;],time()+3600)) {
            header(&#39;Location:lesson9.php?url=lesson8.php&&=登录成功,正在跳转中!&#39;);
        }else{
            echo &#39;cookie设置失败!&#39;;
        }
    }else{
        header(&#39;Location:lesson9.php?url=lesson8.php&&=用户名或密码填写错误,登录失败!&#39;);
    }
}
?>

Après vous être connecté puis avoir visité le site Web, il ne devrait pas afficher que vous devez vous connecter. Pour cela raison, nous devons mettre en place une fonction if pour juger.

<?php
if (isset($_COOKIE[&#39;username&#39;])&&$_COOKIE[&#39;username&#39;]===&#39;cmcc&#39;) {
    exit("您已经登录请不要重复登录");
}

Afin d'accepter ces données et de nous reconnecter en raison d'erreurs de connexion, nous devons créer un nouveau fichier weclome.php et y écrire :

<?php
   if (isset($_COOKIE[&#39;username&#39;])&&$_COOKIE[&#39;username&#39;]===&#39;cmcc&#39;) {
       echo "亲爱的{$_COOKIE[&#39;username&#39;]}您好,欢迎回来!";
   }else{
       echo "<a href=&#39;lesson7.php&#39;>请登录</a>";
   }
?>

À ce stade, nous avons terminé toutes les opérations sur la page de connexion. Le code complet de login.php est donné ci-dessous pour une référence facile.


<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>请登录</title>
</head>
<body>
<form method="post" action="login.php">
    姓名:<input type="text" name="username" />
    密码:<input type="password" name="password" />
    <input type="submit" name="submit" value="登录" />
</form>
</body>
</html>

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn