Cet article présente principalement des informations pertinentes sur des exemples simples de connexion utilisateur en php
Avant-propos :
La dernière partie à réaliser récemment est la gestion des données soumises par les utilisateurs. Quant à la gestion, elle doit être l'affaire de l'administrateur, qui doit impliquer la connexion et la vérification du compte. autorisations. , si le compte a expiré, etc. Connaissances requises
La séance est en effet une chose très importante. Et j'ai constaté que la session ne pouvait pas traverser les pages, j'ai donc modifié la valeur session.use_trans_sid = 0 de PHP.ini à 1.
Implémentation spécifiqueMa conception backend est relativement simple Il vous suffit de saisir un mot de passe. Ce mot de passe est bien entendu enregistré sur le serveur et peut être modifié. Il vous suffit donc d'ajouter deux variables à la session, le drapeau et l'heure.
Tout d'abord, utilisez l'indicateur pour déterminer si l'administrateur s'est connecté avec succès et utilisez le temps pour déterminer si la connexion a expiré. Après avoir soumis le mot de passe, s'il est correct, le drapeau se verra attribuer la valeur 1 et l'heure se verra attribuer l'heure actuelle. Chaque fois que vous entrez dans une nouvelle page ou effectuez une opération, ces deux variables seront évaluées. Tout d'abord, jugez si la valeur de l'indicateur est 1. Si elle n'est pas unique, elle vous indiquera directement que vous n'êtes pas connecté et détruira la session. Si c'est 1, alors jugez que l'heure actuelle -$_SESSION(' time') est inférieure à 600 (10 minutes). Si elle est supérieure, le délai d'expiration de connexion sera demandé et la session sera détruite ; l'opération sera autorisée et la valeur de la variable temps sera mise à jour à la valeur actuelle.
Partie du code
<?php session_start(); $_SESSION['flag'] = 0; $myfile = fopen("passwd","r") or die("Unable to open file!"); $passwd = fgets($myfile); if(empty($_POST['pass'])){ echo "不能为空,重新输入"; $page = "login.html"; }else{ $pass = $_POST['pass']; $passwd = test_input($passwd); $pass = test_input($pass); if($pass == $passwd){ echo "口令正确,允许访问"; $page = "list_all.php"; $_SESSION['flag'] = 1; $_SESSION['time'] = time(); //当前秒数 }else{ echo "口令错误,重新输入"; $page = "login.html"; } } function test_input($date){ $date = trim($date); $date = stripcslashes($date); $date = htmlspecialchars($date); return $date; } ?> <a href="<?php echo $page;?>" rel="external nofollow" >点此跳转</a>
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
<?php session_start(); if($_SESSION['flag'] == 1){ if(time() - $_SESSION['time'] > 600){ echo "登陆超时"; echo '<a href="login.html" rel="external nofollow" rel="external nofollow" >点此登陆</a>'; session_destroy(); exit(); }else{ $_SESSION['time'] = time(); } }else{ echo "未登陆,无权访问!"; echo '<a href="login.html" rel="external nofollow" rel="external nofollow" >点此登陆</a>'; session_destroy(); exit(); } ?>
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!