web課程設計總結
階段的總結,是進步的一大助力,現在總結下課程設計。
第一個網站:基於PHP的購書網站
現在感到網站的本質是:資料的流動。
網站一開始,完全不懂後臺,所以就只做了前臺先。
做前端,就是html,CSS,javascript,jQuery。
在這個過程中,接觸到了很多庫,框架,js外掛。
比如bootstrap,boostrap是響應式的,當時第一個接觸的東西,感覺好強大,響應式的,有好多模組可以自己任意新增,頂部,按鈕,圖示等等,對樣式的控制也很難。但是以我現在對bootstrap的認識,做不出很炫酷的頁面。所以,本網站就用bootstrap只做了個頂部。
做了個頂部,就很難再用bootstrap做下去。網站是分為好多個部分的。每個部分的樣式也不一樣,關鍵是把幾個部分湊起來。
之後接觸到js外掛(即大多是JQ外掛),發現了很多JQ外掛的網站,感覺好厲害,‘封裝’這個詞不錯。封裝好的JQ外掛,拿去組裝網站就行了,都有引數說明,很棒,我看到了很多網站的特效,有圖片輪播,導航,選單,彈出層,對話方塊等等,好多好多。最後,看到一個全屏滑動的外掛,好炫酷,就拿來用到本網站了。
有了頂部,有了這個全屏滑動的選單,接下來,自然的想到了,購物網都有的左邊的選單。
我就又到JQ外掛網站找選單,但是,幾乎全部是包含了頂部的,而除這之外,有的我不會用的,那麼問題來了。我不想放棄之前花了很多時間的bootstrap頂部,再加上,我這樣組裝網站的最致命的問題:樣式的問題。因為每個外掛都有自己的樣式,而且有的命名還可能會重複的。很亂。而且,你要是想外掛包含外掛,或者想在外掛上加點模組,真的很難很亂。但是沒辦法,都做到這裡了。花了那麼多的時間,也算是次經驗吧。
我想,唯有自己寫個選單了。於是我參考下載的JQ選單外掛,寫了個選單,其中學了點JQ動畫,還由於是在全屏滑動JQ外掛裡面新增的,樣式問題,調了好久。
再後來,在網頁的第一頁和第二頁添加了兩個不同的圖片輪播,都不錯。(全屏滑動JQ外掛,網站分為4頁)。
剩下第3、4頁,但是,總不能全都做個圖片輪播。第4頁是寫媒體合作預定的,寫幾行字說還沒有媒體合作算了。那麼還剩下第3頁。也只有一種方式了,就是展現幾個(10個吧)商品(哦,是10本書。),然後給個‘更多’連結就行了。就用10個div+JQ動畫搞定。(這裡用的動畫就是,當滑鼠滑動到這個頁面是,10個div,上下兩行,上行從左邊滑進,下行從右邊滑進。)
還有一個,首頁點開時,頂部下的一個動畫,是模仿一個JQ庫網站的,感覺不錯。
那麼這樣一來前端的東西就完成了。
之後,因為不懂怎麼後臺不知道怎麼做下去了,還有其他科目的考試等等,停了很長時間。在這段時間裡,發現了很多前端的網站,還有網頁的資料拼裝,還有CSS的框架等等。
後臺的完成完全是被時間逼的。
前面說到,網站的本質是資料的流動。
網站的資料,那自然是要做資料庫了。而資料的流動,一個是使用者的註冊,商品的銷售數量,評論等等;一個是後臺管理員的管理後臺,其中最重要的新增商品,甚至新增分類等等。
經過考慮,我還是選擇了一步步來。因為之前有資料庫的設計檢測,表間有什麼聯絡等等,之前老師的檢測是糊弄過去了。隨便用pdshell15建物理模型,建幾個表,隨便拉表間的關係線,但是,這些是不能拿來應用的,或者說是應用不了的。(後來我完成了網站,幾個表也沒設什麼關係,都是各自增刪改查的,嗯,可能是還沒用到哪些功能吧,所以不用表間什麼聯絡)
首先是做登入註冊,這裡我只是做使用者的,沒做管理員的。當時也沒管那麼多。
去JQ外掛網逛了下,哪些表單驗證外掛都不滿意,之後下載個,自己修改。
登入註冊,這裡涉及到了很多。登入:不能為空,資料庫連線,sql查詢,cookie,sql防注入,使用者名稱格式(我沒有做多種方式登入,只做了使用者名稱登入,沒email登入等等),ajax,頁面跳轉,session,驗證碼等等。註冊:不能為空,資料庫連線,sql查詢,sql防注入,使用者名稱格式(正則表示式),email格式(正則表示式),session,實時檢測使用者名稱有沒有重複(用onkeyup),驗證碼等等。
剩下的,模糊搜尋(我直接用了sql語句的模糊搜尋),分類頁面,商品展示頁面,購物車頁面,訂單頁面(沒寫),後臺管理(時間原因,沒寫)都是資料的增刪改查。
還有,網站的logo。
網站的組裝:
比如:include ‘commontop.php’
例如:你每個二級頁面都包含了頂部導航和選單,那麼你沒個頁面都再寫個導航和選單嗎?顯然不可能,那麼自然而然的想到要將這些部分封裝起來,寫到一個獨立的php裡面,要用的時候就include。(這裡說明下,除了include還有include_once,require,require_once,看需要用哪個)
如:在showbook.php裡面include ‘commontop.php’;include ‘commonleft.php’;
include ‘conn.php’;等等。
資料庫連線最好封裝起來,封裝到conn.php裡面。
Session的使用:
在使用session前要初始化先,在php檔案頂部session_start();
還有session的登出等等。
每個商品都有一個獨有的網址:
其實,這個是在商品展現網頁showbook.php後面加了“?+’變數名’+’商品ID’”。
比如 href=”showbook.php?book_id=<?php echo $book_id ?>”
而目標網頁則用GET來獲取book_id。即$_GET[‘book_id’]
頁面間的資料傳遞:
post,get,session,cookie,ajax等等,
submit,button+函式,href,location.href等等。
js與php變數相互傳遞:
這個很重要!很多功能和BUG都是因為這個!
php網頁的資料拼接少不了這個!
Js與php是能相互傳遞變數的,具體可以搜尋下。
本網站只要用的是將php變數的值傳個js變數:
<?php $value=”購書”?>
<script>
var str=<?php echo $value?>;
alert(str);
</script>
還有,上文提到的頁面跳轉也用到:
href=”showbook.php?book_id= <?php echo $book_id ?>”
資料庫的小技巧:
如:限制拿查到的前幾個資料,用limit。等等~
在index.php頁面直接查詢資料,然後用
<?php
While($data=mysql_fetch_array($res)){
$book_id=$data[‘book_id’];
$book_img_$data[‘book_img’];
?>
<div>
<ahref="showbook.php?book_id=<?php echo $book_id ?>"><imgsrc="images/<?php echo $book_img ?>"></a>
</div>
<?php
}
?>
這樣來拼接頁面資料。
這樣會生成好多個有不同動態資料的div,嗯。
還有,用圖片來代替效果!這招贊!
還有前端的樣式問題,確實的麻煩,要調很久;絕對定位,z-index,float的應用等等。
雲平臺:新浪雲,百度雲,阿里雲等等,網上有教程,我用的是新浪雲,上傳應用,因為我把資料庫連線封裝出來了,所以很簡單,只是調下資料庫的連線就行了,不過,這裡很怪,搞了很久,最後只是把資料庫連線的兩個函式的兩個引數調換下位置就行了。
到這裡,總結得差不多了,遺憾的是網站很多功能都沒時間去實現,如排行榜,收藏商品,後臺管理,響應式等等,也沒有用到php模板smarty。總的來說,還是學到了很多的。
要去考研了,怕時間長忘了,所以寫了這個總結。
附上網址: