首页

第11章 实例44:使用Redis存储网站会话(接第10章实例)

关灯 护眼    字体:

上一章 目录 下一章




完成了第10章的实例后,可以得到一个具有基本功能的问答网站。本章将会在第10章的基础上继续开发新的功能。

实例描述

假设,数据集example_data_1如图7-1所示。本章将实现网站的“注册”和“登录”功能。在登录网站以后,就可以修改自己的提问和自己的回答,并且限制每个人只能回答同一个问题一次。



11.1  了解实例的最终目标


本实例的结果以网页形式呈现的,源代码已提供。读者只需要完成整个系统中关于MongoDB和Redis操作相关的代码即可。



11.1.1  注册账号


打开网站,可以看到在没有登录的情况下,右上角有一个“登录/注册”按钮,如图  11-1所示。未登录时,  按钮是不可单击状态。

单击“登录/注册”按钮,打开登录/注册页面,如图11-2所示。在第1个输入框中输入用户名,在第2个输入框输入密码,单击“注册”按钮,如果用户名没有被注册过,则会注册成功,并自动跳转到首页,如图11-3所示。

图11-1  未登录状态右上角有“登录/注册”按钮

图11-2  登录/注册页面

提示:

关于注册时是否需要输入两次密码,实际上业界是有争议的,虽然所输入的密码是以黑点的形式出现,但实际上输错的人并不多。并且在正式的网站中,一般会使用邮箱和手机注册,这样即使输入错误,用邮箱和手机修改密码即可。

由于输入密码是一次还是两次和本项目的重点没有关系,所以为了简单起见,本项目没有做输入密码两次的功能。

登录以后,  按钮成为可单击状态。

如果用户名已经被人注册,那么在登录/注册页面会弹出对话框提示用户名不可用,如图11-4所示。

图11-3  登录状态的首页

图11-4  提示用户名已经被注册



11.1.2  登录后回答问题


登录以后回答问题,答案将会显示用户名,如图11-5所示。

图11-5  登录以后回答问题,将会显示用户名



11.1.3  修改回答


用户可以修改自己的答案,单击“修改回答”按钮,打开修改窗口,如图11-6所示。

修改回答以后如图11-7所示。

图11-6  修改回答

图11-7  回答已经被修改



11.1.4  用户回答同一个问题的次数


如果一个问题已经被回答过了,则“回答问题”按钮就会变成不可单击的状态,如图11-8所示。

图11-8  回答问题按钮失效



11.1.5  修改提问


用户也可以修改自己提的问题,如图11-9所示。

图11-9  用户可以修改自己的提问




上一章 目录 下一章