先来看一下本篇blog将要介绍的内容。
我们的主页面已经搭建完成了,然后左边的navigation里面的大部分内容也都能点击了,只剩下“search” 和“I'm a writer”两个链接了。
本篇教程过后,我们将能完成下面的功能:
这是我们的主界面
点击“I'm a writer” :
点击任意一个链接:
Writers登录之后的页面:
好了,我们一步一步来吧:
我们可以看到在主界面的表单项里面,点击I'm a writer之后的链接是这样的:
“admin/index.php”,所以我们需要在主机上新建一个文件夹,命名为admin,然后编辑index.php,就是我们今天要搞定的用于作者登录的页面了。
为了便于讲解,从现在开始,如果不加特殊的说明,所有的文件都是在admin这个文件夹下新建的,我们再来回顾一下目录结构:
接下来,我们就来开始作者页面的开发吧!
index.php
这个页面很简单,从开始的图片里面也看到了,就是两行表单的内容,一个链接指向本篇要讲解的writer.php,另一个链接指向publish.php。
接下来我们来看
writer.php
我们先来整体看一下writer.php是如何完成我们想要的内容的,然后里面出现的一些函数我们在后面再详细讲解
第4行
include了一个新的文件include_fns.php,注意,这个也是在admin文件夹里面的哦,writer.php中会用到一些函数,而这些函数,都是从这个include_fns.php中所包含的。
第6行
判断了一下当前时候有用户登录,这个函数将会在之前引用的文件里面包含。如果没有用户登录,那么就执行login_form()函数,显示出用户登录的表单,否则的话,就会显示出当前登录用户的文章信息了
第13行
get_writer_record函数用来返回用户的相关信息,然后在15-19行,结合用户的信息,显示出这一行内容:
21-23行
这个select语句应该很简单了吧,就是把当前用户发表过的文章都找出来,按照创建的时间做倒叙排序
25-28行
根据用户的记录,显示用户一共有几篇文章,然后再附带一个新的连接到添加文章的页面story.php,这个我们在下一篇blog中讲解
30-59行
这里面的内容应该我们也不难理解了,之前有类似的内容,就是按照搜索出来的文章信息,展示给用户,同时提供几个链接可以进行更多的操作:edit(story.php),delete(delete_story.php)和keywords(keyword.php)等等
好了,这里整体的框架我们已经清楚了,接下来我们就单独来看几个新用到的函数吧。
我们来看下
include_fns.php
其实很简单对吧,这里还是引入了两个新的php文件,一个是上一级目录下的db_fns.php,这个我们在之前的文章里面已经很熟悉了,是用于数据库链接和操作的各个函数,注意引入的格式是:../db_fns.php;
另一个是我们关于用户的一系列函数
user_auth_fns.php。
check_auth_user()函数
这个函数出现在user_auth_fns.php文件中:
很简单,就不多介绍了。
login_form()函数
依旧是user_auth_fns.php文件中:
这个函数依旧不难,也是之前出现过的内容,就是一个表单的输入,然后点解login按钮以后,请求的是login.php页面,发送的方式是post。
login.php页面依旧很简单,我们来看下吧:
login.php
这里两个关键点:
1个是login函数,这个函数依旧是来自user_auth_fns.php文件中:
我们根据传入的两个参数 username和password,都是之前用户输入的内容,然后去数据库里面和writers表里面做对比,如果找到了,就表示用户输入的用户名和密码是合法的,返回1;否则就返回0。
2
是我们看到 header('Location: '.$_SERVER['HTTP_REFERER']);函数的作用是返回到之前的页面,并刷新登录;
之前的页面是writer.php,因为用户已经登录过了,所以在writer.php的第一个if判断时,得到的结论就是已经有登录的用户,所以就跳转到11行,进行用户文章的展示页面了。
好我们接着来看 :
get_writer_record函数
因为是数据库层面的操作,所以这个函数存放在db_fns.php中,注意,这个文件在上一层目录中哦
基本上也就这些内容了。到这里,我们一共完成了用户的登录、显示文章等页面的操作,这节内容还是有点多的,大家好好消化下吧。有不同的可以留言一起讨论。