You are on page 1of 12

503073 – LẬP TRÌNH WEB VÀ ỨNG DỤNG

ĐỒ ÁN CUỐI KÌ – HỌC KỲ I/2022-2023


Vận dụng kiến thức đã học để xây dựng một trong các trang web trong danh sách bên dưới.
I. DANH SÁCH ĐỀ TÀI
STT Tên đề tài Yêu cầu về phía khách hàng Yêu cầu về phía admin
1 Website đặt vé - Tham khảo: - Quản lý thông tin các
máy bay trực http://www.jetstar.com/vn/vi/home chuyến bay.
tuyến - Mô tả: Xây dựng trang web phục vụ - Quản lý danh sách
cho 1 hãng hàng không như Jetstar, khách hàng
cho khách hàng tìm kiếm và đặt vé - Quản lý lịch sử mua
máy bay. Phía nhà quản lý thì xem vé của khách hàng
được thông tin đặt vé, thống kê, - Thống kê thu nhập,
quản lý các thông tin chuyến bay…. thống kê số lượng vé
- Các chức năng: bán…
- Cho phép người dùng tìm kiếm vé - Lưu ý: giá vé máy bay
máy bay và đặt vé máy bay của 1 có thể được thay đổi
hãng hàng không: chọn ngày cần bất cứ lúc nào trước
tìm, chọn nơi đi nơi đến, chọn loại giờ bay, khách hàng
chuyến bay 1 chiều or khứ hồi.
- Mỗi ngày có thể có nhiều chuyến
bay khác nhau về giờ, về hạng
chuyến bay (thương gia, phổ thông)
- Người dùng có thể đặt vé mà không
cần đăng nhập thành viên.
- Cho phép khách hàng xem lại thông
tin đặt vé. Nếu là khách hàng đăng
nhập thì sẽ hiện được đầy đủ lịch sử
mua vé, nếu khách hàng không đăng
nhập thì cần nhập mã đặt vé để xem
thông tin mua vé.
- Khách hàng đăng nhập được lưu
thông tin cá nhân để tự động điền
vào form mỗi khi đặt vé.
2 Website đặt - Tham khảo http://agoda.com/ - Quản lý thông tin các
phòng khách sạn - Mô tả: Xây dựng trang web phục vụ phòng của ks.
trực tuyến cho 1 khách sạn cao cấp, cho phép - Quản lý danh sách
khác hàng đặt phòng, phía khách sạn khách hàng
thì cho phép quản lý phòng và quản - Quản lý lịch sử đặt
lý đặt phòng… phòng
- Các chức năng: - Thông kê thu nhập,
- Tương tự như trang đặt vé máy bay, đặt phòng…
thực hiện các chức năng cho phép
khách hàng đặt phòng của 1 khách
sạn:
- Chọn ngày và chọn số phòng cần
đặt.
- Kết quả tìm kiếm hiển thị nhiều loại
phòng khác nhau, mỗi phòng có đặc
điểm và giá khác nhau
- Cho phép chọn thêm các dịch vụ ăn
sáng, đưa đón sân bay
- Khách hàng có thể đặt phòng mà
không cần đăng nhập (giống đề tài
đặt vé máy bay).
- Khách hàng được coi lại thông tin
đặt phòng. (giống đề tài đặt vé máy
bay)
- Khách hàng đăng nhập được chỉnh
sửa thông tin cá nhân để tự động
điền vào form mỗi khi đặt vé.

3 Website đặt vé - Tham khảo http://www.cgv.vn/ - Quản lý danh sách các


xem phim trực - Mô tả: Xây dựng trang web phục vụ bộ phim, các rạp
tuyến cho một hãng chiếu phim ví dụ phim, lịch chiếu phim
CGV, gồm nhiều cụm rạp. Cho khác (rạp nào chiếu phim
hàng xem thông tin phim và đặt vé nào lúc mấy giờ).
trực tuyến. Phía quản lý rạp thì xem - Quản lý khách hàng
được lịch sử đặt vé, quản lý thông - Quản lý lịch sử đặt vé
tin phim…. - Quản lý thu nhập,
- Tính năng: thống kê đặt vé…
- Cho phép người dùng xem danh
sách các phim đang chiếu, phim sắp
chiếu, thông tin chi tiết của từng bộ
phim, trailer phim.
- Cho phép người dùng đặt vé và chọn
các gói bombo bắp nước. Người
dùng phải đăng nhập để đặt vé.
- Có nhiều loại vé khác nhau: 2D, 3D,
4DX…
- Người dùng được xem lại lịch sử đặt
vé, thông tin cá nhân.
4 Website quản lý - Tham khảo: www.youtube.com - Quản lý các user
và chia sẻ video - Mô tả: Xây dựng trang web cho - Quản lý các chuyên
phép chia sẻ video và tương tác giữa mục
các user giống Youtube. - Có quyền chọn bất kỳ
- Tính năng: video nào để làm
- Cho phép người dùng đăng video và “feature video” hiển
gom nhóm video thành các playlist. thị trên trang chủ của
- Cho phép đăng video bằng upload trang web (giống như
file hoặc link youtube. video gợi ý của
- Cho phép chia sẻ video hoặc để chế youtube).
độ private. - Có quyền xét duyệt
- Cho phép tương tác giữa các user video, khóa các video
với nhau: xem video, xem profile, vi phạm, thiết lập một
bình luận trên video. số thông tin chung
- Có thể tìm kiếm video theo tiêu đề, cho toàn hệ thống:
tìm kiếm user. giới hạn kích thước
- User có trang quản lý video của video upload, giới hạn
mình, cập nhật các thông tin cơ bản, thời lượng từng video
thumbnails từng video… upload…
5 Webmail - Tham khảo: mail.google.com - Quản lý người dùng
- Mô tả: xây dựng trang web email - Quản lý được các bad
giống các dịch vụ email như keywords để ngăn
Google. Đây chỉ là trang web mô chặn các email có nội
phỏng nên không cần gửi email ra dung xấu.
ngoài hệ thống, chỉ cần gửi email - Các thiết lập cơ bản
trong nội bộ hệ thống với nhau. của admin: thiết lập số
- Chức năng: lượng người nhận tối
- User đăng nhập và thực hiện các đa của 1 email, kích
chức năng cơ bản mà các webmail thước tối đa của 1
đều có: hộp thư đến, tin đã gửi, gửi email, giới hạn số tập
email. tin đính kèm tối đa,
- Cho biết tin đã đọc và chưa cho đọc, dung lượng tối đa của
đánh dấu sao, đánh dấu chưa đọc, email…
xóa email… - Có quyền khóa tài
- Gửi email cho phép đính kèm, cho khoản của 1 user.
phép gửi nhiều người cùng lúc, hỗ
trợ tính năng CC và BCC, forward
mail…
- Các chức năng khác như: lọc email
và các folder khác nhau, forward
email sang tài khoản khác (cùng hệ
thống).
6 Website kho ứng - Tham khảo: play.google.com - Quản lý người dùng
dụng di động - Mô tả: Xây dựng trang web cho - Quản lý ứng dụng của
người dùng tải ứng dụng di động, tải các người dùng, thêm
trực tiếp tập tin apk, cách hoạt động thống kê của các ứng
tương tự Google Play, AppVn. dụng.
- Chức năng: - Phê duyệt ứng dụng
- User được quyền tìm kiếm các ứng mới đăng trước khi
dụng, xem ứng dụng theo từng thể xuất hiện trên store,
loại khác nhau. có quyền khóa các
- Nếu user đăng nhập thì có thể đánh ứng dụng vi phạm.
dấu ứng dụng yêu thích, tải ứng - Quản lý bình luận của
dụng về (tập tin apk). các ứng dụng
- Xem chi tiết từng ứng dụng (thông - Xem thống kê của
tin, số lượt tải, kích thước…), bình toàn hệ thống trên
luận và vote cho các ứng dụng. nhiều tiêu chí khác
- Upload các ứng dụng, khi upload nhau: về user, về ứng
phải cung cấp đủ cấc thông tin cần dụng về lượt tải….
thiết của 1 ứng dụng: mô tả, hình
ảnh, tập tin cài đặt, chọn chuyên
mục ….Upload xong phải chờ
admin duyệt mới được lên.
- Trang web cần có bảng xếp hạng
ứng dụng (tải nhiều, mới…) sắp xếp
theo nhiều tiêu chí khác nhau.
- Trang cá nhan liệt kê các ứng dụng
của mình, xem bookmark, xem được
thống kê của ứng dụng do mình tải
lên.

7 Website xem - Tham khảo: các trang xem phim - Quản lý thể loại phim
phim trực tuyến online trên mạng. - Quản lý thông tin
- Cho phép user chọn phim theo từng phim
thể loại, tìm kiếm phim. - Quản lý user
- Trang chủ hiện các phim được đề - Quản lý bình luận
cử, phim mới..
- Trang chi tiết hiện thông tin phim,
diễn viên, đạo diễn, trailer, bình
luận, đánh giá sao (rate), hiện các
phim tương tự.
- Nếu user đăng nhập thì cho phép
bình luận và rating, bookmark các
phim yêu thích.
8 Website nghe - Tham khảo: - Quản lý các chuyên
nhạc trực tuyến https://www.nhaccuatui.com/ mục
- Mô tả: Xây dựng website nghe nhạc - Quản lý bài hát
hoạt động giống các dịch vụ như - Quản lý user, bình
Zing, Nhaccuatui… luận
- Tính năng: - Quản lý các danh sách
- Chọn bài hát theo chuyên mục, theo bài hát ở trang chủ
tìm kiếm, theo danh sách tổng hợp (top bài hát hay, tạo
(top bài hát hay, chọn lọc…) bảng xếp hạng
- Tìm kiếm bài hát theo nhiều tiêu chí tháng)…
khác nhau
- Nghe nhạc và tải nhạc, xem lyric,
xem bình luận của người khác…
- Nếu đăng nhập thì được bình luận,
rating bài hát, bookmark các bài hát
hay, thêm các bài hát vào các
playlist của mình.
9 Website tìm - Tham khảo: https://topdev.vn/ Phía CTY cần có các chức
kiếm việc làm - Mô tả: Trang web tuyển dụng và năng:
tìm việc làm. Có 2 loại user là công - Đăng tin tuyển dụng,
ty và người tìm việc. Công ty (CTY) mô tả công việc, yêu
đăng công việc, người tìm việc cầu, mức lượng
(CLIENT) thì tìm các công việc và - Nhận thông tin ứng
ứng tuyển. tuyển từ CLIENT,
- CLIENT có quyền tìm công việc xem hồ sơ và phản hồi
theo nhiều thể loại, theo nơi làm về việc có đồng ý
việc.. phỏng vấn hay không
- CLIENT xem chi tiết công việc, mô
tả công việc, các yêu cầu, lương
bổng
- CLIENT sau khi đăng nhập có thể:
apply vào một công việc, quản lý
thông tin cá nhân, CV, xem danh
sách các công việc đã ứng tuyển
đang chờ xét duyệt. Và xem được
phản hồi phía CTY.
- bookmark các công việc mình quan
tâm.
10 Website dịch vụ - Tham khảo: Google Drive - Quản lý các user
lưu trữ tập tin - Mô tả: Xây dựng trang quản lý và - Thiết lập một số thông
trực tuyến chia sẻ tập tin giống Google Drive. tin cho toàn hệ thống:
- Tính năng: dung lượng tối đa mỗi
- Cho phép user lưu trữ tập tin của tập tin, dung lượng tối
mình trên hệ thống, tạo các thư mục đa mỗi tài khoản, các
khác nhau và upload dữ liệu lên hệ tập tin không được
thống phép upload…
- Quản lý thư mục tập tin - Xem dữ liệu
- Chia sẻ dữ liệu cho các user khác
nhau: thông qua tên user hoặc thông
qua đường link
- Cho phép upload nhiều tập tin cùng
lúc, upload bằng kéo thả, khi upload
hiện progress bar thể hiện tiến độ
của quá trình upload.
- Cho phép lưu thư mục của người
khác share về thư mục của mình
(giống google drive)
- Đặt mật khẩu cho tập tin khi chia sẻ.

II. YÊU CẦU ĐẦU RA


Sinh viên nộp 01 file nén đặt tên dạng MSSV1_MSSV2_....zip (thay MSSV thành mã sinh viên của
các thành viên trong nhóm) chứa các nội dung như sau:
- Báo cáo (file docx, hoặc latex thì nội source latex và bản pdf) trình bày phần phân tích, thiết kế
hệ thống, thiết kế giao diện và link đến bản thiết kế giao diện thật (ví dụ link trên figma).
- Bảng phân công công việc (file docx): Thể hiện rõ ai đã làm phần nào trong đồ án.
- Bản tự đánh giá (file docx hoặc pdf): lấy bảng thang điểm bên dưới đánh giá điểm cho các tiêu
chí tương ứng. Nếu các thành viên có mức độ đóng góp khác nhau thì ghi điểm cụ thể cho từng
thành viên trong nhóm. Thành viên nào chỉ làm báo cáo và giao diện mà không tham gia lập trình
chức năng thì chỉ được đánh giá tối đa 5đ cho thành viên đó.
- Nếu thực hiện project theo hướng sử dụng Docker thì nộp lại toàn bộ docker project theo hướng
dẫn trong file Docker.zip.
- Nếu không dùng docker thì nộp các phần:
• Thư mục source đây là thư mục gốc của project, chứa toàn bộ mã nguồn, hình ảnh, và các tài
nguyên khác của trang web. Thư mục source này tương đương với thư mục htdocs trong phần
mềm XAMPP hoặc www trong phần mềm WAMP.
• Tập tin database (database.sql): file script dùng để tạo database, tables và các dữ liệu ban đầu.
Tập tin này cần chứa cả câu lệnh tạo database (giảng viên có thể import được ngay mà không
cần phải tạo database trước. Sinh viên nên import thử trên máy của mình trước để đảm bảo là
tập tin này không có lỗi).
• Readme.txt chứa các mô tả cần thiết để người chấm có thể setup project của sinh viên và chạy
được website trên máy của người chấm. Ngoài ra cũng có thể chứa thêm các thông tin khác
phục vụ cho việc chấm ví dụ thông tin đăng nhập admin, đăng nhập các tài khoản người dùng
có sẵn.

III. CÁC LƯU Ý KHÁC


- Các chức năng liệt kê trong phần mô tả chỉ là các chức năng gợi ý, sinh viên dựa trên trang web
tham khảo và các trang khác để nắm được các tính năng cần có của trang web mà mình đang thực
hiện.
- Cơ sở dữ liệu MySQL, sinh viên làm web tĩnh không có CSDL đạt tối đa 4 điểm.
- Những phần nào tham khảo trên mạng cần phải ghi rõ nguồn tham khảo.
- Để tiện cho việc chấm, admin và user đều đăng nhập ở cùng một giao diện. Tài khoản của admin
vẫn được lưu trong database nhưng sử dụng giá trị cố định là admin/123456.
- Nhiệm vụ của bài tiểu luận hoàn toàn độc lập với đồ án cuối kỳ, vì vậy tất cả các thành viên cần
phải tham gia vào công việc của cả bài tiểu luận và đồ án cuối kỳ. Bài tiểu luận do giảng viên thực
hành chấm. Bài đồ án cuối kỳ do giảng viên lý thuyết chấm.
- Các nhóm không được share code với nhau, không lấy source code trên mạng và tự có trách nhiệm
bảo vệ source code của nhóm mình. Các nhóm có source code giống nhau (được kiểm tra bằng
phần mềm chuyên dụng) hoặc giống trên mạng sẽ đều được 0 điểm (tất cả các thành viên), mà
không cần quan tâm nhóm nào share code và nhóm nào được share code.
- Chỉ được sử dụng ngôn ngữ lập trình PHP, HTML, CSS, Javascript và các thư viện như Bootstrap,
jQuery, các thư viện về php hoặc javascript để phục vụ một số chức năng nhỏ khác (ví dụ thư viện
để gửi email, tạo OTP). Không được sử dụng bất cứ ngôn ngữ lập trình hay framework nào khác
(ví dụ không sử dụng React, Angular, VueJS, không sử dụng các framework của PHP như Laravel,
Cake, Zend…).
- Mã nguồn trang web cần phải được đặt ở thư mục gốc trên web server và được truy cập bởi đường
dẫn http://localhost. Tuyệt đối không được đặt source code trong các thư mục con chẳng hạn như
http://localhost/web hoặc http://localhost/do-an hoặc http://localhost/webcuoiky hoặc các url
khác tương tự như vậy.
- Điểm trừ sẽ được áp dụng với các trường hợp sau đây:
• Nộp trễ dưới 3 ngày: Khi nộp bài trễ sinh viên không cần gửi email xin giảng viên. Bài nộp cứ
trễ 1 ngày thì trừ 1 điểm, nộp trễ dưới 1 phút cũng tính như 1 ngày.
• Nộp trễ từ 3 ngày trở lên: bài không được chấm (0 điểm).
• Nộp không đúng như trong phần yêu cầu đầu ra: -1đ (không nộp bản đánh giá thì -2đ)
• Nộp sai các yêu cầu khác: không có tập tin database (hoặc có nhưng import bị lỗi cú pháp),
không có/sai thông tin họ tên các thành viên, source code không tổ chức theo đúng cách được
yêu cầu trong mục II, cấu hình database ở khắp mọi nơi trong project: -1đ
IV. THANG ĐIỂM CHI TIẾT
Tiêu chí Mô tả Tự đánh
giá
Quyển báo Không có báo cáo (0đ) SV ghi
cáo bản Báo cáo cẩu thả hoặc phần lớn copy trên mạng (0.25đ) điểm tự
word Báo cáo chỉ trình bày các vấn đề lý thuyết hoặc có ít nội dung trình bày về đánh giá
(Tối đa project của mình (0.5đ) của
2đ) Báo cáo trình bày đủ và hợp lý các phần: Giới thiệu đề tài, cơ sở lý thuyết mình ở
KHÔNG (hoặc các vấn đề liên quan đến project), phân tích và thiết kế, hiện thực, đây khi
in kết quả đạt được. (mỗi phần hợp lệ cho 0.25đ, tối đa 1đ) nộp bài

Có trích dẫn đầy đủ các nội dung tham khảo, có danh mục hình, bảng, tài
liệu tham khảo (cộng 0.25đ)
Trình bày đúng, hợp lý các sơ đồ trong phần tích thiết kế (cộng 0.5đ)
Trình bày đúng, hợp lý phần hiện thực (cộng 0.25đ)
Báo cáo nhiều hình ảnh thừa, nhiều hình code thừa (trừ 0.25đ)
Trình bày hợp lý theo yêu cầu trên nhưng hình thức không tốt (font chữ
lung tung, canh lề lung tung) (trừ 0.25đ)
* “Hợp lý” là nói về nội dung của phần trình bày, sinh viên tự đánh giá
mức độ, giáo viên sẽ đánh giá lại sau khi chấm.
Source Tham khảo hoàn toàn trên mạng (đánh giá 0đ cho toàn đồ án)
code PHP Có tham khảo nhiều nguồn để đưa vào project của mình (1đ)
(Tối đa Có thể tham khảo nhiều nguồn nhưng tự làm project của mình (1.5đ)
2.5đ)
Source code trong project nếu tự viết theo ý hiểu của mình thì cộng 0.25đ
Có những module tự viết code mà không tham khảo ở đâu (cộng 0.25đ)
Sử dụng mô hình MVC hoặc tương đương hoặc chia module hợp lý cho
các phần trong project (cộng 0.25đ)
Source code có ghi chú rõ ràng đầy đủ (cộng 0.25đ)
Có áp dụng tối ưu vào source để ứng dụng chạy nhanh hơn (cộng 0.25đ)
Code cẩu thả (trừ 0.25đ)
(Nếu có copy phần code nào đó nhưng không ghi rõ nguồn thì sinh
viên sẽ bị 0 điểm cho toàn đồ án)
Giao diện Lấy hoàn toàn giao diện có sẵn (0đ)
(Tối đa Dùng giao diện có sẵn nhưng chỉnh sửa lại cho phù hợp với project hoặc
2đ) tự thiết kế nhưng xấu (0.25đ)
Tự làm giao diện không có bản thiết kế (0.5đ)
Tự thiết kế, làm giao diện theo thiết kế và nộp bản thiết kế làm minh
chứng (1đ)

Giao diện tự làm có responsive (cộng 0.25đ)


Giao diện tự làm cho phép custom giao diện trong thiết lập hoặc cho đổi
giao diện dễ dàng (cộng 0.25đ)
Giao diện đẹp và thể hiện được rõ nội dung của đồ án (cộng 0.25đ)
Bố cục từng phần hợp lý, dễ thao tác chuyển đổi giữa các control, có phím
tắt truy cập nhanh các chức năng (cộng 0.25đ)
Chức năng Thực hiện được 50% chức năng của đề tài (0.5đ)
(Tối đa Thực hiện được đủ các chức năng yêu cầu của đề tài (1đ)
2đ) Thực hiện đủ chức năng yêu cầu và có bổ sung thêm chức năng khác cần
thiết cho ứng dụng (1.5đ)

Chức năng thực hiện đúng hoàn toàn trong mọi trường hợp, có khả năng
chịu lỗi (cộng 0.25đ)
Nếu chức năng đủ nhưng chạy đôi khi có sai, có lỗi thì trừ 0.5đ
Thể hiện được trạng thái của công việc đang xử lý lên giao diện (như
process bar) (cộng 0.25đ)
Cơ sở dữ Không có CSDL (0đ, đánh giá tối đa 4đ cho toàn đồ án)
liệu CSDL thiết kế thiếu hoặc có mối quan hệ sai (0.75đ)
(Tối đa CSDL Đủ các bảng tối thiểu để lưu trữ thông tin trong project (1đ)
1.5đ)
Có những cải tiến trong CSDL để truy xuất nhanh hơn, chạy ít query hơn
mà vẫn có đủ thông tin (cộng 0.25đ)
Có phương pháp để đảm bảo an toàn dữ liệu và hỗ trợ phục hồi dữ liệu
trong ứng dụng. (cộng 0.25đ)
Tính năng Có sử dụng đa luồng và quản lý đồng bộ tốt các luồng (0.5đ)
nâng cao
(bonus) Có lập trình mạng (socket) để giao tiếp với server hoặc ứng dụng khác
(Tối đa (cộng 0.25)
1đ) Có lập trình kết nối được với các thiết bị ngoài như máy in, hoặc kết nối
với các dịch vụ có sẵn như thanh toán online, gửi mail, sms (cộng 0.25đ)
Tổng điểm (nếu tổng lớn hơn 10 thì lấy 10) ?
Lưu ý: Trong mỗi tiêu chí phần nào KHÔNG ghi chữ “cộng/trừ” chỉ được chọn 1 mức, phần nào có
ghi chữ “cộng/trừ” ở điểm số là điểm cộng thêm hoặc trừ đi vào điểm đánh giá và có thể chọn nhiều
tiêu chí nếu thoả yêu cầu.

V. NÊN VÀ KHÔNG NÊN


- Khi sinh viên đi báo cáo, trang web báo cáo phải là phiên bản cuối cùng và hoàn thiện nhất, có
đầy đủ dữ liệu. Ví dụ trang đặt vé máy bay thì phải có nhiều thông tin nơi đi nơi đến, nhiều chuyến
bay trong nhiều ngày. Trang xem phim thì phải có nhiều thể loại, nhiều phim. Trang chia sẻ video
thì phải có nhiều người dùng và mỗi người dùng có nhiều video đã được đăng lên… để nội dung
báo cáo được trực quan hơn. Tránh tình trạng sinh viên lên báo cáo đồ án mà trên trang web chỉ
có sơ sài vài video và sinh viên trả lời rằng “dạ tại em chưa thêm vô, chứ thêm vô dễ ợt không à
thầy”. Sinh viên làm hoàn chỉnh trang web nhưng có ít dữ liệu thì chỉ đạt tối đa 8 điểm.
- Khi yêu cầu nói rằng “quản lý thông tin các chuyến bay” thì sinh viên tự hiểu là quản lý tất cả các
thông tin liên quan tới chuyến bay chẳng hạn như: hiện danh sách các chuyến bay, thêm, xóa, sửa
thông tin các chuyến bay. Sinh viên có thể làm thêm những tính năng như phân trang, tìm kiếm…
- Đề bài không thể mô tả quá chi tiết từng câu từng chữ về cách làm đúng, sinh viên phải tự tham
khảo chức năng/giao diện và kinh nghiệm sử dụng các trang web khác của mình để áp dụng vào
bài tập. Nếu chức năng chạy được nhưng có những điểm chưa hợp lý hoặc có lỗi về bảo mật thì
vẫn chưa được đánh giá vào mức trọn điểm. Dưới đây là một số ví dụ:
1. Khi người dùng chủ động đổi mật khẩu:
- Làm chưa đúng: cho nhập mật khẩu cũ và mật khẩu mới một lần.
- Làm đúng: cho nhập mật khẩu cũ một lần và mật khẩu mới hai lần (đây là những điều tự
hiểu, có thể tự suy ra được khi sử dụng các trang web khác).
2. Khi xem thông tin profile
- Làm chưa đúng: hiển thị thông tin profile đầy đủ nhưng viết code theo cách dùng GET
parameter chẳng hạn như /profile.php?userid=1234, trong đó 1234 là id của user hiện hành.
Khi đó bất kỳ ai cũng có thể xem được profile của người khác chỉ cần đổi id trên thanh địa
chỉ.
- Cách làm đúng: lưu thông tin id trong session của php và chỉ hiển thị địa chỉ theo dạng
/profile.php. Khi đó chỉ user đăng nhập mới xem được profile và đồng thời họ chỉ xem
được của chính mình.
3. Khi hiển thị số tiền trong giao diện web
- Làm chưa đúng: số bao nhiêu thì hiển thị bấy nhiêu, ví dụ 65 triệu thì hiển thị là “số dư:
65000000”
- Cách làm đúng: sử dụng dấu phẩy để ngăn cách sau mỗi 3 ký tự và hiển thị đơn vị, ví dụ
“số dư: 65,000,000 đ”

You might also like