一个注册、登陆系统的实现

一个注册、登陆系统的实现


本文git源码链接https://github.com/x-Long/Web

最终站点文件如图


注册及登录页面实现

首先新建index.php文件,因为在Apache配置文件默认打开文件顺序中index.php优先级最高,这点读者可在Apache安装目录中打开php.ini找到相关配置项验证,并且可以进行必要修改。

下面我们开始静态注册及登录窗口的实现:我们可以先为整个窗口加上一张背景图片,以突出整个页面的层次感,在这里可以参考下文代码,需要强调的是,我们所找到的图片可能尺寸并不能完全契合窗口,所以我们需要在相关样式文件中加入background-size:cover;这行代码,使背景图片可以完全自适应窗口。

关于注册框与登陆框我们可以在form表单中放入一对table标签以完成主体布局,这种布局在表单页面实现中相对于传统div布局非常便捷实用,详细实现过程参照下文代码。在form表单中我们需要分别指定提交页面,并采用post提交方法,相关post与get方法提交的区别相对较为简单不在赘述,读者可以查阅相关资料自行了解。

另外,为了使读者对实现的过程一目了然,本站点文件并没有使用样式与html分离的写法,而是在头部嵌入。但在具体项目中还是希望大家本着分离的原则。

下面是布局部分代码(样式代码请于git源码站查看):

这里写图片描述

这里写图片描述

实现效果如图所示
这里写图片描述

这里写图片描述


链接数据库文件的建立

前台注册页面表单提交过来的内容我们需要进行写入数据库操作,登陆时同样需要将填入内容与从数据库中取出的字段记录进行对比。可以说凡是与后台有动态交互的页面,我们都必要的需要链接数据库。所以我们可以建立一个connect.php的页面,然后在需要的页面通过include()或require()将其引入。

include()与require()两者的用途是一样的,都是将文件引入,他们最根本的区别在于错误处理的方式不一样。 require一个文件存在错误的话,那么程序就会中断执行了,并显示fatalerror ,include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个warning。 关于两者的选择,我这里建议在一般情况下可以选择include()。特殊情况需要综合考虑。

链接数据库文件的代码如图

这里写图片描述


注册与登录验证页面

在数据库链接部分知识已经提到过,在完成前台的表单填写后需要将其提交给后台进行写入数据库或者对比判断的相关操作。验证页面主要相关的知识为数据库的增删改查,如对此部分知识读者不是太了解则需要先查阅掌握此部分知识。

在注册验证页面,我们需要将前台提交过来的写入数据库,在这之前我们需要规划好相关的数据库,表,字段。然后我们可以将与数据库增删改查的对应sql语句赋给变量并传递给mysql_query(),mysql_query()是php操作数据库中必要最常用的语句之一。另外相关的验证还需要javascript/jquery的配合,因为站点与js验证相关的内容相对较少,所以也做嵌入页面处理,具体读者可以参照站点源码。

关于登录验证页面的实现思想可以参考注册验证,此页面主要涉及的操作为将登录页面传来的username与passwod与数据库中已有的表记录对比,代码见下文图。在登录验证页面还涉及到一个非常重要的知识点:session会话管理。这部分内容在后文讲解。

针对本教程,我们可以为其规划6个对应字段,分别为:id,username,password,email,phonenum,name。读者可以根据具体项目添加或删除字段。在这六个字段中,我这里着重强调id字段,在具体项目中,我们需要为必要每张表添加id字段,并设为主键自增,因为本站点只用到了一张表,但是在后期项目中必将涉及到多张表的关联,这样我们在为待关联表写入数据是即可将id值传给uid(这里不做强制规定)字段,以完成表之间的关联。

注册登录验证页面代码如图

这里写图片描述

这里写图片描述


用户中心与相关验证页面

这部分主要为从数据库中取出用户个人信息,并放入个人信息的静态页面中,这里出于代码分离的原则,我用了两个页面来完成,分别为my.php与home.php。在my.php中主要完成用户信息的查询,并将其赋给对应的session全局数组变量,设置好跳转链接后给home.php使用。

session会话管理在上文已提到过一次,session现在主要被我们运用在登录验证上,与它对应的还有cookie,但是出于安全等因素(session存在服务器端,而cookie存在客户端)cookie并不常用,用session设置的数组变量可以用在站点目录相对路径的任何文件中,这也方便了实现个人信息页面时代码的分离,具体读者可以参照代码。这里还需要注意的是session的必须在文件的开头,用session_start()语句,并且一个文件中只能出现一次,要不会报错,这一点可能许多书中不会提及,但是读者需要注意,尤其是咋html中嵌入php代码时,比如home.php文件。因为home.php主要为静态实现的相关代码,与上文实现过程相似,这里不再贴出。

my.php主要代码如图

这里写图片描述


注销退出页面

上文提到session主要被用来做登录验证,那么本页面(loginout.php)主要功能就是删除之前设置的session全局数组变量,以实现退出并跳转至登录页面重新登陆。

loginout.php部分代码

这里写图片描述

个人信息页面如图所示

这里写图片描述


以上为注册登录页面全部内容,还有一些知识点如正则可能没有提到,后期继续完善。

西安理工大学
电子152
梁小龙

Thanks for reading.

  • 15
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值