这篇文章主要介绍了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实现用户登录的案例代码
基础教程推荐
猜你喜欢
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP命名空间简单用法示例 2022-12-01
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- php array分组,PHP中array数组的分组排序 2022-08-01
- PHP中的错误及其处理机制 2023-06-04
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- 使用PHP开发留言板功能 2023-03-13
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09