手机版

PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】

时间:2021-08-27 来源:互联网 编辑:宝哥软件园 浏览:

本文实例讲述了服务器端编程语言(专业超文本预处理器的缩写)登录验证功能。分享给大家供大家参考,具体如下:

登录界面

具体实现方法如下:

login.html

!DOCTYPE html html lang=' en ' head meta charset=' UTF-8 ' title/title/head dy form method=' post ' action=' DoLogin。PHP '输入类型='文本'占位符='用户名name='username'brbr输入类型='密码'占位符='密码name='password'brbr输入类型=“文本”占位符='验证码name='验证码' class='验证码' brbr img id='验证码_ img ' src=' http :验证码。PHP?r=?PHP echo rand();alt='验证码label a href=' JAVAScript : void(0)' rel='外部no follow ' onclick='文档。getelementbyid(' captcha _ img ').src='captcha.php?r=' Math.random()'换一个/a/label br标签输入类型=' checkbox '名称=' autolog in[]'值=' 1 '/自动登录/labelbr按钮类型="提交"登录/button/form/body/HTMlDologgin。服务器端编程语言(Professional Hypertext Preprocessor的缩写)

?phpheader(' Content-type : text/html;字符集=UTF-8 ';需要“MySQL。PHP”;//导入mysql.php访问数据库session _ start();//开启会话一获取到服务器端验证码$ username=$ _ POST[' username '];$ password=$ _ POST[' password '];$ autolog in=isset($ _ POST[' autolog in '])?1:0;//获取是否选择了自动登录$验证码=$ _ POST['验证码'];$ code=$ _ SESSION[' code '];//获取服务器生成的验证码/* * 首先进行判空操作,通过后进行验证码验证,通过后再进行数据库验证。 * 手机号码和邮箱验证可根据需要自行添加* */if(checkEmpty($username,$password,$ verify code)){ if(check verify code($ verify code,$code)){ if(checkUser($username,$ password)){ $ _ SESSION[' username ']=$ username;//保存此时登录成功的用户名if($autologin==1){ //如果用户勾选了自动登录就把用户名和加了密的密码放到甜饼干里面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);}标题(“位置: index.php”);//全部验证都通过之后跳转到首页} }}//方法:判断是否为空函数checkEmpty($username,$password,$验证码){ if($ username==null | | $ password==null){ echo ' htmlheadScript Language=' JavaScript ' alert('用户名或密码为空');/Script/head/html " "meta http-equiv=\ ' refresh '内容=\ ' 0;网址=登录。html \} else { if($ verify code==null){ echo ' htmlheadScript Language=' JavaScript ' alert('验证码为空');/脚本/标题/html ' .meta http-equiv=\ ' refresh '内容=\ ' 0;网址=登录。html \} else { return true} }}//方法:检查验证码是否正确函数checkVerifycode($verifycode,$ code){ if($ verifycode==$ code){ return true;} else { echo ' html头脚本语言=' JavaScript ' alert('验证码错误');/Script/head/html " "meta http-equiv=\ ' refresh '内容=\ ' 0;网址=登录。html \}}//方法:查询用户是否在数据库中function checkUser($username,$ password){ $ conn=new MySQL();$sql='从用户名='{$username} '和密码='{$password} '的用户中选择*;$ result=$ conn-SQL($ SQL);if($ result){ return true;} else { echo ' html head script Language=' JavaScript ' alert('用户不存在');/脚本/标题/html ' .meta http-equiv=\ ' refresh '内容=\ ' 0;网址=登录。html \} $ conn-close();}//方法:手机格式验证函数checkphonenum($ phonenumber){ $preg='/^1[34578]{1}\d{9}$/';if(preg_match($preg,$电话号码)){ return true//验证通过} else { echo ' html head script Language=' JavaScript ' alert('手机号码格式有误');/Script/head/html " "meta http-equiv=\ ' refresh '内容=\ ' 0;网址=登录。html \//手机号码格式不对}}//方法:邮箱格式验证函数查看电子邮件($ email){ $ preg='/^(\w{1,25})@(\w{1,16})(\.(\w{1,4 }){ 1,3 } $/';if(preg_match($preg,$ email)){ return true;} else { echo ' html head script Language=' JavaScript ' alert(' y邮箱格式有误');/脚本/标题/html ' .meta http-equiv=\ ' refresh '内容=\ ' 0;网址=登录。html \} }注销。服务器端编程语言(Professional Hypertext Preprocessor的缩写)

?php/退出登录并跳转到登录页面unset($ _ SESSION[' username ']);setcookie('username ','',time()-1);//清空cookiesetcookie('password ','',time()-1);标题(“位置: login.html”);index.php

?PHP session _ start();if(empty($ _ COOKIE[' username '])empty($ _ COOKIE[' password ']){ if(isset($ _ SESSION[' username ']))echo '登录成功,欢迎您$_SESSION['username'].a href='logout.php '退出登录/a ';"否则回声"你还没有登录,a href='login.html '请登录/a ';}else echo '登录成功,欢迎您:'.$_COOKIE['用户名'].a href='logout.php '退出登录/a ';验证码和数据库的实现方法前面写过,这里不再赘述。

验证码制作://www .JB 51。net/article/156850。html文件的后缀数据库连接://www .JB 51。net/article/156875。html文件的后缀

更多对PHP相关内容感兴趣的读者可以查看本网站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP网络编程技巧总结》、《php常见数据库操作技巧汇总》、0103010

希望本文对PHP编程有所帮助。

版权声明:PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。