离线下载
PDF版 ePub版

kaka · 更新于 2017-10-22 03:00:28

管理页面

先来看一下本篇将要介绍的内容。

我们的主页面已经搭建完成了,然后左边的 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。

是我们看到 header('Location: '.$_SERVER['HTTP_REFERER']);函数的作用是返回到之前的页面,并刷新登录; 之前的页面是 writer.php,因为用户已经登录过了,所以在 writer.php 的第一个 if 判断时,得到的结论就是已经有登录的用户,所以就跳转到 11 行,进行用户文章的展示页面了。

好我们接着来看 :

get_writer_record()函数

因为是数据库层面的操作,所以这个函数存放在 db_fns.php 中,注意,这个文件在上一层目录中

基本上也就这些内容了。到这里,我们一共完成了用户的登录、显示文章等页面的操作,这节内容还是有点多的,大家好好消化下吧。有不同的可以留言一起讨论。

本文由 kaka 创作,采用 知识共享署名-相同方式 3.0 (CC协议) 中国大陆许可协议 进行许可。 转载、引用前需联系作者,并署名作者且注明文章出处。