php教程

超轻量级php框架startmvc

PHP实现用户登录的案例代码

更新时间:2020-03-27 22:10:50 作者:startmvc
本文讲述了PHP实现用户登录的案例代码。分享给大家供大家参考,具体如下:需求分析:在

本文讲述了PHP实现用户登录的案例代码。分享给大家供大家参考,具体如下:

需求分析:

在Web应用开发中,经常需要实现用户登录的功能。假设一个名为username的用户,当该用户进入网站首页时,如果还未登录,则页面会提示登录,用户输入登录信息进行验证,验证通过进入用户中心,否则显示用户名或密码错误,重新登录。登录成功后,用户还可以单击“注销”,回到登录页面。

程序设计流程图:

login.html


<!DOCUMENT html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http 
://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head> 
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> 
 <title>会员登录</title> 
 <style type="text/css"> 
 ul li{margin:0;padding:0;} 
 form{margin:40px 30px 0;} 
 form li{list-style:none;padding:5px 0;} 
 form li label{float:left;width:70px;text-align:right} 
 form li a{font-size:12px;color:#999;text-decoration:none} 
 .login_btn{border:none;background:#01A4F1;color:#fff;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:0 10px;cursor:pointer;} 
 form li img{vertical-align:top} 
 </style> 
 
</head> 
<body> 
<form action="login.php" method="POST"> 
 <fieldset> 
 <legend>用户登录</legend> 
 <ul> 
 <li> 
 <label for"">用户名:</label> 
 <input type="text" name="username"/> 
 </li> 
 <li> 
 <label for"">密码:</label> 
 <input type="password" name="password"/> 
 </li> 
 <li> 
 <label for""> </label> 
 <input type="checkbox" name="remember" value="yes"/>7天内自动登录 
 </li> 
 <li> 
 <label for""> </label> 
 <input type="submit" name="login" value="登录" class="login_btn"/> 
 </li> 
 </ul> 
 </fieldset> 
</body> 
 
</html>

login.php


<?php 
 header("Content-Type:text/html;charset=utf-8"); 
 session_start(); 
 if(isset($_POST['login'])) 
 { 
 $username = trim($_POST['username']); 
 $password = trim($_POST['password']); 
 if(($username=='')||($password=='')) 
 { 
 header('refresh:3;url=login.html'); 
 echo "改用户名或密码不能为空,3秒后跳转到登录页面"; 
 exit; 
 } 
 else if(($username!='username')||($password!='password')) 
 { 
 //用户名或密码错误 
 header('refresh:3;url=login.html'); 
 echo "用户名或密码错误,3秒后跳转到登录页面"; 
 exit; 
 } 
 else if(($username=='username')&&($password=='password')) 
 { 
 //登录成功将信息保存到session中 
 $_SESSION['username']=$username; 
 $_SESSION['islogin']=1; 
 //如果勾选7天内自动保存,则将其保存到cookie 
 if($_POST['remember']=="yes") 
 { 
 setcookie("username",$username,time()+7*24*60*60); 
 setcookie("code",md5($username.md5($password)),time()+7*24*60*60); 
 } 
 else 
 { 
 setcookie("username",'',time()-1); 
 setcookie("code",'',time()-1); 
 } 
 //跳转到用户首页 
 header('refresh:3;url=index.php'); 
 } 
 } 
?>

index.php


<?php 
 header("Content-Type:text/html;charset=utf-8"); 
 session_start(); 
 //首先判断Cookie是否有记住用户信息 
 if(isset($_COOKIE['username'])) 
 { 
 $_SESSION['username']=$_COOKIE['username']; 
 $_SESSION['islogin']=1; 
 } 
 if(isset($_SESSION['islogin'])) 
 { 
 //已经登录 
 echo $_SESSION['username'].":你好,欢迎进入个人中心!<br/>"; 
 echo "<a href='logout.php'>注销</a>"; 
 } 
 else 
 { //为登录 
 echo "你还未登录,请<a href='login.html'>登录</a>"; 
 } 
?> 

logout.php


<?php 
 header("Content-Type:text/html;charset=utf-8"); 
 session_start(); 
 //清除session 
 $username=$_SESSION['username']; 
 $_SESSION=array(); 
 session_destroy(); 
 //清除cookie 
 setcookie("username",'',time()-1); 
 setcookie("code",'',time()-1); 
 echo "$username,欢迎下次光临"; 
 echo "重新<a href='login.html'>登录</a>"; 
?> 

登录界面:

以上所述是小编给大家介绍的PHP实现用户登录的案例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

php 用户登录 php 登录界面