Chúng ta code file default.php như sau: - Trong project QLTN chúng ta tạo 1 forder [includes] để chứa tất cả các file mà chùng ta muốn include.. o Mở file [default.php] include file sess
Trang 1LAB THỰC HÀNH PHPBước 1: làm quen cách gọi hàm, sự kiện, kế thừa trong php (lập trình web với php) và
thực hành với project Quản lý trắc nghiệm
Mô hình xử lý:
- Vào thư mục quản lý các project của wampserver tạo 1 forder [QLTN]
Trang 2- Trong forder [QLTN] tạo 1 file default.php, trong file default.php này chúng ta
học cách sử dụng lệnh include() và gọi hàm Chúng ta code file default.php như sau:
- Trong project QLTN chúng ta tạo 1 forder [includes] để chứa tất cả các file mà chùng ta muốn include Trong forder [includes] chúng ta tạo file [config.php] để
thiết lập kết nối csdl
- Ví dụ file config.php code kết nối như sau:
- Hướng dẫn sử dụng sessions viết code cho trang login:
o Trong forder [includes] tạo file [sessions.php] Trong file [sessions.php]
chúng ta viết code khởi tạo session và tạo biến login toàn cục quản lý biến này bằng session
o Mở file [default.php] include file sessions.php
- Tiếp theo tạo trang xử lý sự kiện: vào thư mục [includes] tạo file
[eventHandler.php] viết code như sau:
Trang 4- Tiếp theo chúng ta dựa vào phần xử lý của hàm eventHandler() để chúng ta tạo một số trang mà hàm eventHandler cần gọi để xử lý:
o Đoạn code dòng 24 trong hàm eventHandler(): gọi hiển thị trang form login
Trong forder [QLTN] chúng ta tạo 1 forder [view]: chứa các form
hiển thị của project
Trong forder [view] tạo 1 file [login.php] Ví dụ code form như sau
(design form theo ý của mỗi sinh viên)
Trang 5o Dòng 27 trong hàm eventHandler(): yêu cầu hiển thị form add câu hỏi
Vào forder [view] tạo file [createQuestion.php] Ví dụ design form
như sau:
Trang 6o Dòng 30 trong hàm eventHandler(): yêu cầu gọi file xử lý login
Trong forder [QLTN] tạo 1 forder với tên [process].
Trong forder [process] tạo 1 file xử lý login [processLogin.php]
File processLogin.php viết code như sau:
Trang 7o Dòng 51 trong file [eventHandler.php]: Trong hàm loadmenu() xử lý gọi
file menu1.php để hiển thị các menu lên trang
Trong forder [includes] tạo file [menu1.php] Ví dụ code file
menu1.php như sau:
Trang 9 Trong forder [inlcudes] tạo file [menu.xml] code file menu.xml như
sau:
Trang 10o Dòng 55 trong file eventHandler.php: ở đây xử lý include file header.php khi thực thi hàm loadHeader()
Trong forder [includes] tạo file [header.php], code file header.php
như sau:
o Dòng 58 trong file eventHandler.php: include file footer.php khi thực hiện hàm loadFooter() Code file footer.php như sau:
Trang 11- Tiếp theo chúng ta trở lại file default.php: inlcude file xử lý sự kiện và gọi các hàm trong file xử lý sự kiện ra thực thi để hiển thị các vị trí trên trang web.
- Code file default.php như sau:
Truy cập vào project QLTN xem kết quả: http://localhost/QLTN/default.php
- Login: admin
- Login: hocvien
Trang 12Bước 2: thực hành một ví dụ upload 1 file hình lên host
- Vào forder quản lý các project của wampserver tạo một forder [upload], trong forder upload này tạo 1 file với name là [upload.php] code file này như sau:
Truy cập vào link sau để test kết quả đã làm: http://localhost/upload/upload.php
Trang 13LAB THỰC HÀNH PHP
Mô tả: Viết chương trình quản lý trắc nghiệm
Mô hình xử lý:
Trang 14- Trong forder quản lý các project của wampserver tạo một project với tên là
[QLTN2].
- Trong forder [QLTN2] tạo 1 file [index.php] code file index.php như sau:
Trang 17- Như vậy trong file index.php chúng ta đã khai báo 2 chức năng (phần admin vàphần học viên) mà project Quản lý trắc nghiệm cần thực hiện.
- Bây giờ chúng ta code từng chức năng trong project QLTN như sau:
- Dòng 11 trong trang index.php chúng ta include file TestManager.class.php
o Trong file TestManager.class.php chúng ta chia ra 4 class chính như sau:
Trang 19- Các chức năng inputAdmin(), outputAdmin(), setAdmin() trong trang
index.php chúng ta đã khai báo trong trang [TestManager.class.php]
- Trong các hàm inputAdmin(),… Lại gọi hàm input()….từ trang
admin.class.php Như vậy chúng ta thấy rõ hơn về cách gọi hàm trong php và lớp đối tượng
- Trong forder [QLTN2] tạo file với name là [admin.class.php] code như sau:
Trang 21- Các chức năng của phần học viên chúng ta thực hiện tương tự như phần admin.
- Trong forder [QLTN2] tạo file với name là [HocVien.class.php] code như sau:
Trang 26- Trong phần học viên chúng ta tách phần xử lý form và xử lý csdl riêng biết.
( xem dòng 3 trong file [HocVien.class.php]
- Tiếp theo chúng ta viết phần xử lý csdl trong học viên
Trang 27- Trong forder [QLTN2] tạo file với name là [HocVienDB.class.php] code như
sau:
- Project QLTN2 có 4 class chính như đã nêu trên, mỗi class đều có sự kết nối đến csdl vì vậy chúng ta nên tạo 1 file kết nối dùng chung cho cả 4 class trên
- Trong forder [QLTN2] tạo file kết nối chung với tên là
[MYSQLDB.class.php] code kết nối như sau:
Trang 28- Các file chúng ta đã tạo:
Kiểm tra kết quả: http://localhost/QLTN2
Trang 30LAB THỰC HÀNH PHP (tt)
- Tiếp theo chúng ta hoàn thành 2 class còn lại: Class môn học và câu hỏi
- Mở file index.php thêm code 2 class xử lý sự kiện môn học và câu hỏi Code thêm như sau: (thêm code vào sau khi kết thúc case xử lý phần học viên)
Trang 31- Mở file TestManager.class.php thêm code như sau:
o Thêm 2 dòng include 2 file xử lý form của 2 class vào file
TestManager.class.php
o Thêm code các hàm hướng đối tượng cho phần Môn học, và câu hỏi như sau:
Trang 32- Tiếp theo chúng ta viết code cho 2 file xử lý form của 2 class Môn học và câu hỏi.
- Trong forder [QLTN2] tạo 1 file xử lý form class môn học [MonHoc.class.php] code như sau:
Trang 36- Cũng như class admin và class học viên chúng ta chia phần xử lý form và xử lý csdl riêng thành 2 file.
- Trong forder [QLTN2] tạo file xử lý csdl của class môn hoc
[MonHocDB.class.php] code như sau:
Trang 37- Cách thức viết chức năng cho phần câu hỏi cũng giống như phần môn học.
- Trong forder [QLTN2] tạo file [CauHoi.class.php] code như sau:
Trang 46- Tiếp theo, trong forder [QLTN2] tạo file xử lý csdl của class Câu hỏi [CauHoiDB.class.php] code như sau:
Kết quả: http://localhost/QLTN2