Comment implémenter le saut de vérification de base de données en php

藏色散人
Libérer: 2023-03-11 06:40:02
original
1982 Les gens l'ont consulté

Comment implémenter le saut de vérification de la base de données en PHP : créez d'abord le fichier login.html ; puis créez le fichier doLogin.php ; puis effectuez une opération nulle, puis effectuez la vérification du code de vérification après le passage et enfin effectuez la base de données ; vérification.

Comment implémenter le saut de vérification de base de données en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment php réalise-t-il le saut de vérification de la base de données ?

Exemples de fonction de vérification de connexion PHP [nom d'utilisateur, mot de passe, code de vérification, base de données, vérification de connexion, connexion et déconnexion automatiques, etc.]

Cet article décrit la fonction de vérification de connexion PHP via exemples. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Interface de connexion

Comment implémenter le saut de vérification de base de données en php

Comment implémenter le saut de vérification de base de données en php

La méthode de mise en œuvre spécifique est la suivante :

login.html

<!DOCTYPE html 
<html 
<head 
  <meta charset="UTF-8" 
  <title Title</title 
</head 
<body 
<form method="post" action="doLogin.php" 
  <input type="text" placeholder="用户名" name="username" <br <br 
  <input type="password" placeholder="密码" name="password" <br <br 
  <input type="text" placeholder="验证码" name="verifycode" <br <br 
  <img id="captcha_img" src="captcha.php?r=<?php echo rand();? " alt="验证码" 
  <label <a href="javascript:void(0)" rel="external nofollow" onclick="document.getElementById(&#39;captcha_img&#39;).src=&#39;captcha.php?r=&#39;+Math.random()" 换一个</a  </label <br 
  <label <input type="checkbox" name="autologin[]" value="1"/ 自动登录</label <br 
  <button type="submit" 登录</button 
</form 
</body 
</html
Copier après la connexion

doLogin.php

<?php
header("Content-type:text/html;charset=UTF-8");
require "mysql.php";      //导入mysql.php访问数据库
session_start();        //开启会话一获取到服务器端验证码
$username=$_POST[&#39;username&#39;];
$password=$_POST[&#39;password&#39;];
$autologin=isset($_POST[&#39;autologin&#39;])?1:0;   //获取是否选择了自动登录
$verifycode=$_POST[&#39;verifycode&#39;];
$code=$_SESSION[&#39;code&#39;];    //获取服务器生成的验证码
/*
* 首先进行判空操作,通过后进行验证码验证,通过后再进行数据库验证。
* 手机号码和邮箱验证可根据需要自行添加
* */
if(checkEmpty($username,$password,$verifycode)){
if(checkVerifycode($verifycode,$code)){
if(checkUser($username,$password)){
$_SESSION[&#39;username&#39;]=$username; //保存此时登录成功的用户名
if($autologin==1){        //如果用户勾选了自动登录就把用户名和加了密的密码放到cookie里面
setcookie("username",$username,time()+3600*24*3);  //有效期设置为3天
setcookie("password",md5($password),time()+3600*24*3);
}
else{
setcookie("username","",time()-1);  //如果没有选择自动登录就清空cookie
setcookie("password","",time()-1);
}
header("location: index.php ");      //全部验证都通过之后跳转到首页
}
}
}
//方法:判断是否为空
function checkEmpty($username,$password,$verifycode){
if($username==null||$password==null){
echo &#39;<html <head <Script Language="JavaScript" alert("用户名或密码为空");</Script </head </html &#39; . "<meta http-equiv=\"refresh\" content=\"0;url=login.html\" ";
}
else{
if($verifycode==null){
echo &#39;<html <head <Script Language="JavaScript" alert("验证码为空");</Script </head </html &#39; . "<meta http-equiv=\"refresh\" content=\"0;url=login.html\" ";
}
else{
return true;
}
}
}
//方法:检查验证码是否正确
function checkVerifycode($verifycode,$code){
if($verifycode==$code){
return true;
}
else{
echo &#39;<html <head <Script Language="JavaScript" alert("验证码错误");</Script </head </html &#39; . "<meta http-equiv=\"refresh\" content=\"0;url=login.html\" ";
}
}
//方法:查询用户是否在数据库中
function checkUser($username,$password){
$conn=new Mysql();
$sql="select * from user where name=&#39;{$username}&#39; and password=&#39;{$password}&#39;;";
$result=$conn- sql($sql);
if($result){
return true;
}
else{
echo &#39;<html <head <Script Language="JavaScript" alert("用户不存在");</Script </head </html &#39; . "<meta http-equiv=\"refresh\" content=\"0;url=login.html\" ";
}
$conn- close();
}
//方法:手机格式验证
function checkPhoneNum($phonenumber){
$preg="/^1[34578]{1}\d{9}$/";
if(preg_match($preg,$phonenumber)){
return ture; //验证通过
}else{
echo &#39;<html <head <Script Language="JavaScript" alert("手机号码格式有误");</Script </head </html &#39; . "<meta http-equiv=\"refresh\" content=\"0;url=login.html\" ";//手机号码格式不对
}
}
//方法:邮箱格式验证
function checkEmail($email){
$preg = &#39;/^(\w{1,25})@(\w{1,16})(\.(\w{1,4})){1,3}$/&#39;;
if(preg_match($preg, $email)){
return true;
}else{
echo &#39;<html <head <Script Language="JavaScript" alert("y邮箱格式有误");</Script </head </html &#39; . "<meta http-equiv=\"refresh\" content=\"0;url=login.html\" ";
}
}
Copier après la connexion

logout.php

<?php
//退出登录并跳转到登录页面
unset($_SESSION[&#39;username&#39;]);
setcookie("username","",time()-1);  //清空cookie
setcookie("password","",time()-1);
header("location: login.html ");
index.php
<?php
session_start();
if(empty($_COOKIE[&#39;username&#39;])&&empty($_COOKIE[&#39;password&#39;])){
if(isset($_SESSION[&#39;username&#39;]))
echo "登录成功,欢迎您".$_SESSION[&#39;username&#39;]."<a href=&#39;logout.php&#39; 退出登录</a ";
else
echo "你还没有登录,<a href=&#39;login.html&#39; 请登录</a ";
}
else
echo "登录成功,欢迎您:".$_COOKIE[&#39;username&#39;]."<a href=&#39;logout.php&#39; 退出登录</a ";
Copier après la connexion

Les méthodes de mise en œuvre du code de vérification et de la base de données ont été écrit auparavant et ne sera pas répété ici.

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!

Étiquettes associées:
php
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