今天接續昨天,帶解第二題的最新文章部份,我則是自己在做問卷調查的部份,昨晚試做用一張資料表做問卷,雖然理論上可行,但因為題目有要求編號,一張資料表要處理編號比較麻煩,所以今天改成兩張資料表來做,不過功能很快做完,但是在調整視覺上花了不少時間,這部份應該是只能靠熟練來強化了.
因為做完了第二題,所以除了昨天的注意事項外,今天可以來紀錄一下自己的心得:
1.網站標題區算是最簡單的部份,只要套用PHP的日期相關函數就可以了
2.瀏灠人數的部份需要資料庫來紀錄,我原本的做法是在資料表中新增當天的日期,然後去更新每日的瀏灠人數再加總,不過這樣做需要去判斷是否存在當日日期的資料,而老師的做法是直接新增一筆當次瀏灠的日期紀錄,直接加總就可以了,這做法比較簡單,也較適合考試搶時間的做法.
3.主選單區-題目沒要求資料庫功能,所以主選單區直接html寫死就可以了,不過各連結所link的頁面我是用js的lo()函式來載入各所需要的頁面,好處是我只需要一個首頁的頁面就夠了.不需要每個選單再連結一頁也不需要include各個php檔案進來.
4.動態文字廣告區-送分題,直接字打上去用<marquee>包起來就好了
5.會員登入登出區-本題有不少需要判斷會員登入狀況的地方,因此這邊我是做了SESSION來紀錄會員登入與否,然後再套用到需要的地方,比如登入後顯示歡迎語句及登出按鈕
6.登入檢查,這邊我開始使用jQuery來處理,檢查和回傳資料,都以jQuery來處理,可以省不少功夫
7.註冊及忘記密碼功能,不算難,尤其以jQuery來處理前端檢查後,直接送後端php去新增及查詢資料,不需要另外處理跳頁.
8.主內容顯示區-這邊開始題目的描述不太清楚,在沒有特別的要求的狀況下,首頁的頁籤效果可以直接使用dreamweaver來完成,我自己是使用資料庫的方式來處理,包括頁籤的效果也是使用css和js搭配而成,資料撈取的部份則是以撈取各分類的最新一筆文章為主.
9.分類網誌-這邊也沒說要使用資料庫來做,我看另一個解題是直接寫死在html碼中,我自己則是使用資料表來做,當成是練習,這邊需要對導覽列做參數化,在點選各頁面時,同時送出參數,再由各分頁接收後顯示在導覽列中,而各分頁內的再導覽則是使用js來抓值後把文字加到導覽列去,一般導覽列應該會要求做link,但這邊沒有,那就算了,僅做顯示之用;分類網誌的文章內容我是使用jQuery來取回文章內容再顯示在區塊中.
10.頁尾版權區-也是送分題,把字打上去,年份改一下就好了,版型檔案已經把QRcode設好了.
11.建置最新文章區-題目沒有要求說要新增文章的功能,所以文章可以直接用phpmyadmin塞進資料庫,我是有做時間紀錄,因此我做最新文章是以新增的時間來排序,如果只為了考試,其實用文章序號來排序也可以;這邊需要針對登入狀況來判斷要不要顯示按讚,而按讚的功能則是使用版型檔案附的一支js函式來處理,資料庫的部份需要多加一張表來紀錄每次按讚的log,然後再去文章資料表做加一減一的計算;分頁的功能不算難,用最簡單的方式做出來就可以了.
12.人氣文章區-排序改成按讚數由多到少排序,其餘的功能和最新文章區差不多,利用彈出頁面來顯示詳細內容的功能則是利用jQuery來完成.
13.問卷調查-這裏的問卷調查功能比之前練習的要簡單一些,就只是多了一個判斷登入與否的動作,但是沒有要求是否一人一票.
14.後台管理頁面-這邊也沒要求要過濾管理者帳號,所以可以登入後到管理頁面應該就可以了,我是單獨再做一頁admin.php,然後也只是改了主選單的文字而已.
15.帳號管理-也算是送分題,新增會員的功能和註冊會員是一模一樣的,刪除功能也很簡單可以完成
16.最新文章管理-這裏只要求做分頁及顯示 / 刪除功能,可以很簡單的完成
17.問卷後台管理-這邊只有要求做新增問卷的功能,算是半送分題,增加更多選項的功能使用js來做很簡單,然後送出之後再分兩張資料表來分別寫入就完成了.
整體來說第二題會花比較多時間在CSS的調整,主要是因為沒空去研究原本附的CSS,所以大多數的樣式都是自己加上去的;功能的部份,我使用了大量的jQuery,但是為了預防萬一,所以第一次做的時候,每個php的回傳功能我都獨立一個檔案來做,其實有點浪費時間,我考慮第二次解題時,統一寫一支php程式來處理會使用到的callback,比如,取出文章標題,取出全部文章內容,取出文章第一行,查詢帳號是否重覆,查詢密碼等等,都合在一個php中,然後用jQuery去送參數並取回值即可.
留言