PHP实现用户登录的案例代码
发布:smiling 来源: PHP粉丝网 添加日期:2018-10-17 09:51:25 浏览: 评论:0
本文讲述了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/<a href="http://www.111cn.net/cssdiv/css.html" class="anchor" target="_blank">css</a>">
- 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);
- } //phpfensi.com
- 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>";
- ?>
登录界面:
Tags: PHP用户登录 PHP案例代码
- 上一篇:PHP发表心情投票功能示例(附源码)
- 下一篇:PHP用函数嵌入网站访问量计数器
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)