Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie einen Sprung zur Datenbanküberprüfung in PHP

So implementieren Sie einen Sprung zur Datenbanküberprüfung in PHP

藏色散人
藏色散人Original
2021-07-01 09:05:371989Durchsuche

So implementieren Sie einen Datenbanküberprüfungssprung in PHP: Erstellen Sie zuerst die Datei login.html, führen Sie dann eine Nulloperation durch und führen Sie dann eine Überprüfung des Überprüfungscodes durch.

So implementieren Sie einen Sprung zur Datenbanküberprüfung in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Wie erreicht PHP einen Datenbanküberprüfungssprung?

Beispiele für die PHP-Anmeldeüberprüfungsfunktion [Benutzername, Passwort, Bestätigungscode, Datenbank, Überprüfung der angemeldeten Anmeldung, automatische An- und Abmeldung usw.]

Dieser Artikel beschreibt die PHP-Anmeldeüberprüfungsfunktion anhand von Beispielen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Anmeldeschnittstelle

So implementieren Sie einen Sprung zur Datenbanküberprüfung in PHP

So implementieren Sie einen Sprung zur Datenbanküberprüfung in PHP

Die spezifische Implementierungsmethode ist wie folgt:

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

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\" ";
}
}

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 ";

Bestätigungscode und Die Implementierungsmethode der Datenbank wurde bereits geschrieben und wird hier nicht wiederholt.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen Sprung zur Datenbanküberprüfung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn