一步一步教你用PHP+MySql搭建网站 No.3 管理页面

先来看一下本篇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中,注意,这个文件在上一层目录中哦

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

时间: 2024-09-30 15:25:49

一步一步教你用PHP+MySql搭建网站 No.3 管理页面的相关文章

一步一步教你用PHP+MySql搭建网站 No.7 关键字和搜索

本篇是这系列教程的最后一篇了. 我们看到还有几个页面没有讲到,分别是 keywords相关页面 和search相关页面 将这两部分放在一起是因为search是搜索的关键字找到文章的.因为这本教材是比较老的教材了,所以里面的架构设计可能也比较老. 截止到目前,基本上没有新的知识点要讲解了,看一下如何来构建网页和后台的逻辑吧: keywords.php 第10行 get_story_record 和get_writer_record功能类似,是在db_fns.php中的一个函数: keyword_a

一步一步教你用PHP+MySql搭建网站 No.1 主页&数据库连接

这一章节我们来看用户输入网页后的主界面. 一般来说,默认主页都是index点xxx,比如 index.php, index.html , index.jsp等等.我们来看一下我们的index.php吧 index.php 提醒: 在<?php?>的两端,不要出现任何空格或者其他字符,也就是不要在<?php 的前面加上空格这样的字符,然后?>后面也不要出现其余的字符,不然的话可能会出现这样的提示: 我之前出现过这样的情况,google了之后是说headers 必须放在最开始的时候执行

一步一步教你用PHP+MySql搭建网站 No.0 准备工作

新开一个系列教程吧,这次是讲如何用PHP+MySQL搭建网站. 之前一直有想过搭建自己的个人网站,然后上周通过阿里云申请的域名和空间都通过审核了,于是就开始研究如何用PHP+MYSQL搭建网站,研究了差不多两周,总算搞定了一个小型的blog类的网站.当然,整个过程是通过学习<PHP and MySQL web development>下来的,这篇教程中的例子是在原书中的Chapter 28: Building a Content Manager System章节的基础上,修改完成的.所有的源代

一步一步教你用PHP+MySql搭建网站 No.2 图片显示和Page页面

接着上一章节的看,我们现在的程序有了第一个主页面,但是我们会发现几个问题,一个是主页上的图片没法显示,二是点击read more ... 之后的链接没有内容 这两个页面的入口分别是下图里面的两个框出来的内容. 我们先来看图片显示的页面: Resize_image.php 我们注意到其实这个链接的完整URL是: resize_image.php?image=...&max_width=...&max_height=...; 也就是说这个链接有3个参数: image是图片的名称,max_wid

一步一步教你用PHP+MySql搭建网站 No.5 图片上传、故事删除

上篇文章中讲到,story.php中的表单提交之后的页面是story_submit.php,我们就看一下story_submit.php是如何完成文章的发表的 老样子,先上代码: <?php # add / modify story record include_once('include_fns.php'); $handle = db_connect(); $headline = $_REQUEST['headline']; $page = $_REQUEST['page']; $time =

一步一步教你用PHP+MySql搭建网站 No.6 文章的publish

本节我们来看和publish相关的3个页面:  publish.php, unpublish_story.php和publish_story.php 我们回到admin的主页面,index.php 我们点击下面的链接,跳转到的是 publish.php 整体过一遍代码,这里面应该没有多少新的内容了,我们重点看一下结构: 4-6行 和editer一样,如果当前用户还未已经登录,就显示登录的界面 9-13行 显示当前登录作者的名字,以及3个链接,logout,主菜单和返回主页面 15-18行 这个s

一步一步教你用PHP+MySql搭建网站 No.4 文章编辑、图片上传

本篇blog我们将来重点看文章编辑页面story.php,因为这个页面说实话代码量是挺多的,还涉及到了图片的上传. 从页面上来直观的体验: add new  和 edit都是打开的story.php页面,所以我们应该能提前想到,这个页面会先检测下是哪种请求. 首先我们来搞定比较简单的logout.php页面 这个页面其实很简单了,主要是几个函数 unset函数其实就是将一些特定的变量置为空: session_destroy函数是销毁当前的session,当然,当前session中的数据也随着一并

码云周一见 | 老司机教你如何麻溜地搭建网站

Hello,大家好,小一又和大家见面了,今天小一想要跟大家聊聊网站开发的那些事儿.从近期业内动向来看,不少网站搭建团队开始向着高端网站建设.品牌网站建设.响应式网站建设等领域迈进,掀起了新一轮的"网站搭建"潮流.作为新一代的技术"弄潮儿",小一也为大家带来了码云上各位开源老司机分享出来的优秀项目,希望能够让大家畅快的享受这顿"饕餮大餐". 一.项目名称:基于 EasyFrameWork 的内容管理软件 项目简介:ZKEACMS 是基于 EasyF

一步一步教你把自己的站点信息向alexa提交

alexa排名已经很强大有威信,各级站长以及广告主更加关注它,网赚站长也不例外,经常会去查一下网站的排名变化.在查询排名的过程中,发现自己网站的"网站简介"是:该站点还没有向alexa提交任何介绍信息;http://www.aliyun.com/zixun/aggregation/32466.html">网站站长: 不详;联系邮箱: 不详等,可想而知,这会让每个认真做站的站长很郁闷.虽然alexa已经推出中文版,但提交或更新网站还需要在官方英文站点下进行,而且提交步骤与