PHP + MySQL 搭建網(wǎng)站-管理頁面

2018-09-28 20:13 更新

管理頁面

先來看一下本篇將要介紹的內(nèi)容。

我們的主頁面已經(jīng)搭建完成了,然后左邊的 navigation 里面的大部分內(nèi)容也都能點(diǎn)擊了,只剩下“search” 和“I'm a writer”兩個(gè)鏈接了。

本篇教程過后,我們將能完成下面的功能:

這是我們的主界面

點(diǎn)擊“I'm a writer” :

點(diǎn)擊任意一個(gè)鏈接:

Writers 登錄之后的頁面:

好了,我們一步一步來吧:

我們可以看到在主界面的表單項(xiàng)里面,點(diǎn)擊 I'm a writer 之后的鏈接是這樣的:

“admin/index.php”,所以我們需要在主機(jī)上新建一個(gè)文件夾,命名為 admin,然后編輯 index.php,就是我們今天要搞定的用于作者登錄的頁面了。

為了便于講解,從現(xiàn)在開始,如果不加特殊的說明,所有的文件都是在 admin 這個(gè)文件夾下新建的,我們再來回顧一下目錄結(jié)構(gòu):

接下來,我們就來開始作者頁面的開發(fā)吧!

index.php

這個(gè)頁面很簡單,從開始的圖片里面也看到了,就是兩行表單的內(nèi)容,一個(gè)鏈接指向本篇要講解的 writer.php,另一個(gè)鏈接指向 publish.php。

接下來我們來看

writer.php

我們先來整體看一下 writer.php 是如何完成我們想要的內(nèi)容的,然后里面出現(xiàn)的一些函數(shù)我們在后面再詳細(xì)講解第4行

include 了一個(gè)新的文件 include_fns.php,注意,這個(gè)也是在 admin 文件夾里面的哦,writer.php 中會(huì)用到一些函數(shù),而這些函數(shù),都是從這個(gè) include_fns.php 中所包含的。

第6行

判斷了一下當(dāng)前時(shí)候有用戶登錄,這個(gè)函數(shù)將會(huì)在之前引用的文件里面包含。如果沒有用戶登錄,那么就執(zhí)行 login_form() 函數(shù),顯示出用戶登錄的表單,否則的話,就會(huì)顯示出當(dāng)前登錄用戶的文章信息了

第13行

get_writer_record 函數(shù)用來返回用戶的相關(guān)信息,然后在 15-19 行,結(jié)合用戶的信息,顯示出這一行內(nèi)容:

21-23行

這個(gè) select 語句應(yīng)該很簡單了吧,就是把當(dāng)前用戶發(fā)表過的文章都找出來,按照創(chuàng)建的時(shí)間做倒敘排序

25-28 行

根據(jù)用戶的記錄,顯示用戶一共有幾篇文章,然后再附帶一個(gè)新的連接到添加文章的頁面 story.php,這個(gè)我們在下一篇 blog 中講解

30-59 行

這里面的內(nèi)容應(yīng)該我們也不難理解了,之前有類似的內(nèi)容,就是按照搜索出來的文章信息,展示給用戶,同時(shí)提供幾個(gè)鏈接可以進(jìn)行更多的操作:edit(story.php),delete(delete_story.php)和keywords(keyword.php)等等

好了,這里整體的框架我們已經(jīng)清楚了,接下來我們就單獨(dú)來看幾個(gè)新用到的函數(shù)吧。

我們來看下

include_fns.php

其實(shí)很簡單對吧,這里還是引入了兩個(gè)新的 php 文件,一個(gè)是上一級(jí)目錄下的 db_fns.php,這個(gè)我們在之前的文章里面已經(jīng)很熟悉了,是用于數(shù)據(jù)庫鏈接和操作的各個(gè)函數(shù),注意引入的格式是:../db_fns.php;另一個(gè)是我們關(guān)于用戶的一系列函數(shù)user_auth_fns.php。

check_auth_user()函數(shù)

這個(gè)函數(shù)出現(xiàn)在 user_auth_fns.php 文件中:

很簡單,就不多介紹了。

login_form()函數(shù)

依舊是 user_auth_fns.php 文件中:

這個(gè)函數(shù)依舊不難,也是之前出現(xiàn)過的內(nèi)容,就是一個(gè)表單的輸入,然后點(diǎn)解 login 按鈕以后,請求的是 login.php 頁面,發(fā)送的方式是 post。

login.php 頁面依舊很簡單,我們來看下吧:

login.php

這里兩個(gè)關(guān)鍵點(diǎn):

1 個(gè)是 login 函數(shù),這個(gè)函數(shù)依舊是來自 user_auth_fns.php 文件中:

我們根據(jù)傳入的兩個(gè)參數(shù) username 和 password,都是之前用戶輸入的內(nèi)容,然后去數(shù)據(jù)庫里面和 writers 表里面做對比,如果找到了,就表示用戶輸入的用戶名和密碼是合法的,返回 1;否則就返回 0。

是我們看到 header('Location: '.$_SERVER['HTTP_REFERER']);函數(shù)的作用是返回到之前的頁面,并刷新登錄;之前的頁面是 writer.php,因?yàn)橛脩粢呀?jīng)登錄過了,所以在 writer.php 的第一個(gè) if 判斷時(shí),得到的結(jié)論就是已經(jīng)有登錄的用戶,所以就跳轉(zhuǎn)到 11 行,進(jìn)行用戶文章的展示頁面了。

好我們接著來看 :

get_writer_record()函數(shù)

因?yàn)槭菙?shù)據(jù)庫層面的操作,所以這個(gè)函數(shù)存放在 db_fns.php 中,注意,這個(gè)文件在上一層目錄中

基本上也就這些內(nèi)容了。到這里,我們一共完成了用戶的登錄、顯示文章等頁面的操作,這節(jié)內(nèi)容還是有點(diǎn)多的,大家好好消化下吧。有不同的可以留言一起討論。

本文由 kaka 創(chuàng)作,采用 知識(shí)共享署名-相同方式 3.0 (CC協(xié)議) 中國大陸許可協(xié)議 進(jìn)行許可。轉(zhuǎn)載、引用前需聯(lián)系作者,并署名作者且注明文章出處。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)