Maison > développement back-end > tutoriel php > Un moyen simple d'implémenter la connexion utilisateur en php

Un moyen simple d'implémenter la connexion utilisateur en php

墨辰丷
Libérer: 2023-03-27 18:50:01
original
1885 Les gens l'ont consulté

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écifique

Ma 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

check_pw.php

<?php
session_start();
$_SESSION[&#39;flag&#39;] = 0;
$myfile = fopen("passwd","r") or die("Unable to open file!");
$passwd = fgets($myfile);
if(empty($_POST[&#39;pass&#39;])){
  echo "不能为空,重新输入";
  $page = "login.html";
}else{
  $pass = $_POST[&#39;pass&#39;];
  $passwd = test_input($passwd);
  $pass = test_input($pass);
  if($pass == $passwd){
    echo "口令正确,允许访问";
    $page = "list_all.php";
    $_SESSION[&#39;flag&#39;] = 1;
    $_SESSION[&#39;time&#39;] = 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>
Copier après la connexion
list_all .php (Partie)

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[&#39;flag&#39;] == 1){
  if(time() - $_SESSION[&#39;time&#39;] > 600){
    echo "登陆超时";
    echo &#39;<a href="login.html" rel="external nofollow" rel="external nofollow" >点此登陆</a>&#39;;
    session_destroy();
    exit();
  }else{
  $_SESSION[&#39;time&#39;] = time();
  }
}else{
  echo "未登陆,无权访问!";
  echo &#39;<a href="login.html" rel="external nofollow" rel="external nofollow" >点此登陆</a>&#39;;
  session_destroy();
  exit();
}
?>
Copier après la connexion

Recommandations associées :


php+mysql développe la banque de questions en ligne et le système de création de questions en ligne les plus simples


PHP

Diviser le navigateur WeChat d'entreprise | Navigateur WeChat ordinaire Autres navigateurs


PHP

Tableau bidimensionnel déduplication basée sur un certain élément


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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal