今天先介紹了cookie的使用,cookie是使用在本機上的超域變數,cookie的出現是因為網頁本身是一種"無狀態的文件",也就是說當文件轉換或關閉時,所有的狀態和暫存在記憶體中的東西都會清除,但為了實務上的需要,所以才會有cookie和session的出現,用來保留網頁的狀態和資訊,做為其它的應用.
一.cookie的使用比起seesion簡單多了,但限制也比較多,早期cookie有很多安全性上的問題,目前跟安全性有關的都轉往session去處理,cookie則只用來儲存一些比較不重要的資訊或做為標記使用.
二.課堂練習:因為這周的課程比較有難度,所以老師花比較多時間在一對一對的指導上,課堂練習的時間也比較多.

利用cookie或session來製作帳號密碼登入登出
搞懂session和cookie機制的我,覺得功力有所提昇了,所以這題很快就做完了,連太閒才做的登出功能也做完了.
檔案一.用來申請帳號及產生密碼並判斷是否已登入
檔案二.用來輸入帳密確認是否正確並註記是否為登入成功狀態

登入登出的執行畫面
其中,關於印出申請過的帳密,然後要求要新的在最上頭顯示,也就是以遞減的方式來顯示的這一段,我是直接在迴圈起始上以陣列的總數為起始值,然後遞減印出,不過老師說很多人還搞不懂迴圈,直接改變起始值的方式可能會讓大家更混亂,要我挑戰起始值為0的條件下,如何遞減印出,我一時沒會意過來,想了一些奇怪的方式像是用總數的差值去計算,或是先準備好一串陣列的順序去填入之類的,回家後突然靈光一閃,才想到我們是網頁上要顯示成果,最終是字串的方式來呈現,所以只要把顯示的結果改成字串串接就可以達到一樣的效果了:
很多同學不懂超域變數的意義和使用方式,所以在這卡了很久,我自己是用銀行存錢來舉例,如果錢放在家裏,每次要用錢就得回家拿,也只能從家裏拿,如果錢放在銀行,那麼不管我人在那,都可以就近找分行或提款機來領錢,這樣舉例還不懂的話,真的就是沒有放感情在學程式這件事上了.
雖然seesion的部份大家卡了很久,不過最後一小時,老師還是再多上了關於資料庫連線的部份,老師同時介紹了 mysqli_query 和 mysql_query 的兩種連線方式,以因應可能有些系統的PHP還在5.4以前的版本.
如果資料輸入都正確,就可以在瀏灠器上顯示正確撈取的資料

DB正確撈取的資料顯示
回家作業是一個存取資料庫的練習,配合先前的GET/POST,以傳值的方式來要求存取資料

回家作業題目
留言