您当前的位置:首页 > 文章教程 > 计算机与互联网 > 网络编程

11.2.5实现登录功能

11.2.5实现登录功能

11.2.5 实现登录功能

至此,已经完成了该BLOG系统日志文章浏览与添加的功能。通常,一个系统只允许用户登录后,才能完成该系统相应的管理操作,本章要实现的BLOG系统也不例外。本小节向读者介绍该BLOG系统用户登录与退出的实现。

(1)用户登录需要用户名和密码,这里将用户名和密码配置到.php文件中,登录程序将用户输入的用户名和密码与该php文件中设置的用户名和密码进行比较,如果完全匹配,则登录成功,否则提示用户名或密码错误。建立一个名为auth.php的文件,存放在BLOG系统的config目录下,auth.php用来设置用户名和密码,该程序内容如代码11-7所示。

代码11-7 用户名和密码配置文件auth.php


01 <?php

02 $AUTH=array();

03 $AUTH["user"]="admin";

04 $AUTH["passwd"]="21232f297a57a5a743894a0e4a801fc3";

05 ?>


【代码解析】代码第2行定义了数组$AUTH,然后第3~4行分别为数组中的用户名和用户密码赋值。

注意 auth.php定义了一个数组来存放用户名和密码,其中密码是将某字符串经过函数md5()加密的,读者在测试时可通过使用函数md5()加密某字符串后,自行设定。

(2)实现用户登录程序。该程序由处理用户登录的PHP代码和显示登录界面的HTML组成,其完整代码如代码11-8所示。

代码11-8 用户登录程序login.php


01 <?php

02 include"config/auth.php";//包含配置文件

03 session_start();

04

05 if(isset($_POST["user"])&&isset($_POST["passwd"]))//判断用户的输入

06 {

07 $user=$_POST["user"];

08 $passwd=$_POST["passwd"];

09

10 $passwd=md5($passwd);//对密码使用md5加密

11

12 if($user!=$AUTH["user"]||$passwd!=$AUTH["passwd"])//验证失败

13 {

14 echo"<strong><font color="red">用户名或密码错误;</font></strong>";

15 }

16 else

17 {

18 $_SESSION["user"]=$user;//验证成功,设置session

19 header("location:index.php");

20 }

21 }

22 ?>

23

24 <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN"

25 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

26 <html>

27 <head>

28 <title>基于文本的简易BLOG</title>

29 <link rel="stylesheet"type="text/css"href="style.css"/>

30 </head>

31 <body>

32

33 <div id="container">

34 <div id="header">

35 <h1>我的BLOG</h1>

36 </div>

37 <div id="title">

38 ----I have dream……

39 </div>

40

41 <div id="left">

42 <div id="blog_entry">

43 <div id="blog_title">用户登录</div>

44

45 <div id="blog_body">

46 <div id="blog_date"></div>

47 <table border="0">

48 <form method="POST"action="login.php">

49 <tr><td>用户名称:</td><td><input type="text"name="user"size="15"></td></tr>

50 <tr><td>用户密码:</td><td><input type="password"name="passwd"

51 size="15"></td></tr>

52 <tr><td><input type="submit"value="登录"></td></tr>

53 </form>

54 </table>

55 </div><!--blog_body-->

56 </div><!--blog_entry-->

57 </div>

58

59 <div id="right">

60 <div id="sidebar">

61 <div id="menu_title">关于我</div>

62 <div id="menu_body">我是个PHP爱好者</div>

63 </div>

64 </div>

65

66 <div id="footer">

67 CopyRight 2011

68 </div>

69 </div>

70

71 <body>

72 </html>


【代码解析】首先将用户名和密码设置文件config/auth.php包含到程序当中,如代码第2行所示。接着判断用户是否输入了正确的用户名和密码,如果输入有误,将提示错误信息,如代码第14行所示;如果输入正确,将用户名存入session,然后跳转到BLOG首页,如代码第18、19行所示。BLOG首页程序将在下一个小节完成。通过浏览器访问login.php,可以看到如图11-11所示的登录界面。

图 11-11 用户登录界面