会员管理系统设计与实现
要求
系统功能分析
新会员注册
查看会员资料
修改个人资料
上传个人照片
查询密码
管理员专区
系统功能实现
创建网站导航条
网站导航条包含一些导航链接,对于当前打开的页面,不再显示超链接,而是以反显形式给出提示文字,此外还在导航条右侧显示当前日期。如果用户已经登录,则会在导航条左侧显示出对该用户的欢迎信息。
会员注册
在网站导航条上单击【会员注册】链接,即可进入新会员注册页register.php。当在文本框输入用户名并使光标离开此文本框时,会利用Ajax异步请求技术立即提示所输入的用户名是否可用。当用户在该页上输入个人信息并单击【注册】按钮时,如果提交的用户名尚未被他人注册,并且其他字段也符合要求(如两次输入的密码相同、日期和Email地址格式正确),则这些信息会保存在后台数据库中,然后将用户名和角色值保存会话变量中并提示注册成功,停留5秒钟后将自动登录到系统首页。如果所提交的会员名已他人被注册,则进入系统登录页login.php并显示出错信息。
检查用户名
创建会员注册页时,为了保证提供的用户名是惟一的,在该页中插入了“检查新用户名”服务器行为。这样,当单击【提交】按钮时将在服务器端查询数据库,如果所提供的用户名已存在,则会重新加载注册页并传递一个registered参数,然后注册表单上方显示用户名已被注册的提示信息。除了提交表单时进行服务器端检查之外,当光标离开【用户名】文本框时,还通过异步请求方式对用户名进行Ajax验证,在这个请求过程中将调用服务器端的check_username.php,并发送一个名为username的URL参数。执行check_username.php文件时,也将对数据库进行查询并生成一个XML数据。下面介绍check_username.php的创建过程。
会员登录
当在系统导航条上单击【会员登录】链接时,将会打开登录页。登录页用于对用户的会员身份进行验证,当输入用户名和密码并单击【登录】按钮时,如果提供的用户名和密码与存储在数据库中的记录匹配,则进入系统首页,否则仍然停留在登录页并显示登录失败的提示信息。此外,如果用户在未经登录的情况下直接访问会员专属区,将会被重定向到登录页,并通过URL参数传递一个错误代码:1表示用户名或密码错误;2表示匿名用户不能访问会员专属区;3表示普通用户不能访问管理员专属区。
系统首页
登录成功后将打开系统首页index.php,它以分页形式列出当前注册的所有会员。若单击【电子邮件】列的链接,可给选定会员发邮件;若单击【详细信息】链接,则可查看选定会员的详细信息;若单击【注销】链接,则可结束本次会话并转到登录页。1. 系统首页设计 系统首页index.php仅限登录后的会员访问,若用户未经登录而试图直接访问该页,则会被重定向到登录页。系统首页用于列出会员的简明信息并包含到个人详细信息页的链接。2. 个人详细信息页设计 当在系统首页上单击【详细信息】链接时,将打开会员个人信息页。
会员信息更新
用户在注册会员之后,如果希望修改自己在注册页上提交的个人信息,可以在网站导航条上单击【修改资料】链接,此时会打开个人信息更新页modify.php。个人信息更新页仅限登录到系统会员访问,而且在这里只能修改自己的个人信息;个人信息更新页未列出密码,用户名则以只读方式显示,不允许进行修改。假如用户未经登录而直接访问该页,将被重定向到登录页并显示出错信息。
密码查询
在会员管理系统中,查询密码功能通过username.php、answer.php和getpwd.php三个PHP动态网页来实现,这些PHP页均未加保护,可以由任何用户访问。当用户查询密码时,首先需要输入用户名,如果该用户名存在于后台数据库中,则显示安全问题;如果提交了一个正确的答案,则需要选择获取密码的方式,然后通过网页查看密码或通过邮件收取密码。
输入用户名
回答安全问题
找回密码
照片上传
会员登录后,在系统导航条上单击【上传照片】链接,可以打开upload.php页。当从本地硬盘上选择要上传的照片并单击【上传】按钮时,若文件上传成功,则在页面上显示照片及相关图像文件信息,并将图像文件路径保存到数据库中。照片上传页仅限会员访问,若用户未经登录而直接访问该页,将被重定向到登录页。
会员管理
当在网站导航条上单击【会员管理】链接时,将打开会员管理页manage.php。会员管理页以表格形式分页显示当前所有注册会员的基本情况,若在【操作】列单击【删除】链接,则会弹出一个确认框,单击【确定】按钮,即可删除选定的会员。会员管理页仅限系统管理员访问,如果匿名用户或普通会员试图访问本页,则会被重定向到登录页,此时传递的错误代码为3。