帳號 密碼 登入 ``` 3. index.php加入一組login流程,並建立對應login的函數。 4. login的函數利用uname和passwd去eznews\_users撈取uid資料 5. 若有uid資料,就將uname及uid紀錄到session中,如:$\_SESSION\['uid'\],並視為已登入。 6. 修改config.php中的$login變數,判斷若有$\_SESSION\['uid'\]存在,則秀出登入者姓名,反之,才嗅出登入表單。 ### 三、 建立登出機制 1. 登出只要將uname及uid的session紀錄清除即可 2. 修改config.php中的$login變數,在登入者姓名後加入登出按鈕,利用get方式傳遞op=logout至index.php即可。 3. index.php加入一組logout流程,並建立對應logout的函數。 4. logout的函數利用unset()清除uname和passwd的session即為登出 ### 四、 檢視所有需要有權限才能執行的功能 1. 先處裡刪除、修改、新增等幾個函數,沒有登入即跳出不執行。編輯表單則是傳回「請先登入」之類的字樣。 ``` if(!isset($_SESSION['uid']) or empty($_SESSION['uid'])){ return; } ``` 2. 接著處理未登入就不該看見的按鈕,例如:編輯、修改或發布新聞 3. 最後拿掉當初發布新聞時,表單中的密碼輸入欄位,因為已經沒有必要。相關的判斷或session也應該要拿掉。此外表單也可以重新排列一下,使相關欄位能盡量大一點。 ### 五、 如果希望新聞只有發布者能修改或刪除 1. 必須要新聞的表加一個uid欄位,並且先把空的uid都適當的uid編號(例如1) ``` update eznews set uid=1 ``` 2. 表單的姓名欄位也可以拿掉(或自動產生姓名預設值),改為隱藏的uid及uname欄位(對應author)即可。對應的儲存動作也要修改,以便把uid存進去。 3. 調整刪除及儲存的函數,條件加入uid='{$uid}' 以便確定只有本人才能改 4. 相關編輯或刪除按鈕加上判斷條件,當登入者uid和該文的uid一致時才出現。 5. 最後去新增幾個帳號測試看看是否和想像的一致即可。 ### 六、 完整程式範例 [www.zip](http://www.tad0616.net/uploads/tad_book3/file/1032/www.zip)
if(!isset($_SESSION['uid']) or empty($_SESSION['uid'])){ return; } ``` 2. 接著處理未登入就不該看見的按鈕,例如:編輯、修改或發布新聞 3. 最後拿掉當初發布新聞時,表單中的密碼輸入欄位,因為已經沒有必要。相關的判斷或session也應該要拿掉。此外表單也可以重新排列一下,使相關欄位能盡量大一點。 ### 五、 如果希望新聞只有發布者能修改或刪除 1. 必須要新聞的表加一個uid欄位,並且先把空的uid都適當的uid編號(例如1) ``` update eznews set uid=1 ``` 2. 表單的姓名欄位也可以拿掉(或自動產生姓名預設值),改為隱藏的uid及uname欄位(對應author)即可。對應的儲存動作也要修改,以便把uid存進去。 3. 調整刪除及儲存的函數,條件加入uid='{$uid}' 以便確定只有本人才能改 4. 相關編輯或刪除按鈕加上判斷條件,當登入者uid和該文的uid一致時才出現。 5. 最後去新增幾個帳號測試看看是否和想像的一致即可。 ### 六、 完整程式範例 [www.zip](http://www.tad0616.net/uploads/tad_book3/file/1032/www.zip)
update eznews set uid=1 ``` 2. 表單的姓名欄位也可以拿掉(或自動產生姓名預設值),改為隱藏的uid及uname欄位(對應author)即可。對應的儲存動作也要修改,以便把uid存進去。 3. 調整刪除及儲存的函數,條件加入uid='{$uid}' 以便確定只有本人才能改 4. 相關編輯或刪除按鈕加上判斷條件,當登入者uid和該文的uid一致時才出現。 5. 最後去新增幾個帳號測試看看是否和想像的一致即可。 ### 六、 完整程式範例 [www.zip](http://www.tad0616.net/uploads/tad_book3/file/1032/www.zip)
進階搜尋
574人線上 (218人在瀏覽線上書籍)
會員: 0
訪客: 574