Đây là phần quan trọng nhất của website, Chứa các bài viết của website những thông tin được thể hiện ra ngoài giao diện chính của trang web. Nội dung của trang web được quản lý và xây dựng thông qua Module “news” (Tin tức).
Ta đăng nhập vào trang quản trị và chọn Module “Tin Tức”.
Hình 1.5.1: Module tin tức 1.5.1. Quản lý chuyên mục.
[SVTH: Võ Quang Huy] Trang 34
Quản lý chuyên mục sẽ có những chức năng sau:
Vị trí: Thứ tự xuất hiện của các chuyên mục ngoài trang chủ.
Tiêu đề: Tên của chuyên mục.
Hiển thị trang chủ: Có xuất hiện chuyên mục này ở trang chủ web hay không.
Cách thể thiện chuyên mục: Cách thể hiển của chuyên mục ngoài trang chủ.
Số liên kế: Số bài viết xuất hiện ngoài trang chủ của chuyên mục.
Thêm bài viêt: Thêm bài viết cho chuyên mục.
Sửa: Sửa đổi thông tin của chuyên mục.
Xóa: Xóa chuyên mục.
Để tạo một chuyên mục mới ta thực hiện: Từ giao diện chính của module ta chọn “Quản lý chuyên mục”. Ở phần thêm chuyên mục ta điền đầy đủ thông tin.
- Tiêu đề: Là tên của chuyên mục.
- Liên kết tỉnh: Là đường dẫn đến chuyên mục ở ngoài site. - Title Site: Là tên tiêu đề của site.
- Thuộc chuyên mục: Nêu ko lựa chọn thì chuyên mục được tạo là chuyên mục lớn, còn lựa cho một chuyên mục nào đó thì chuyên mục được tạo sẽ là chuyên mục con của chuyên mục được chon.
- Từ khóa: Liệt kê danh sách từ khóa để tìm đến chuyên mục liên quan đến chuyên mục
- Miêu tả: Miêu ta sơ lượt về chuyên mục.
[SVTH: Võ Quang Huy] Trang 35
Hình 1.5.3: Thêm một chuyên mục mới.
Chọn lưu thay đổi để hoàn tất việc thêm một chuyên mục mới.
1.5.2. Quản lý nhóm tin.
Hình 1.5.4: Quản lý nhóm tin.
Tương tự như “quản lý chuyên mục” thì “quản lý nhóm tin” cũng có những chức năng như: Vị trí, tiêu đề, chọn làm mặt định, số liên kết, sửa và xóa.
Việc thêm một nhóm tin mới cũng hoàn toàn tương tự.
Tiên đề: Tên của nhóm tin.
Liên kết tỉnh: dường dẫn của nhóm tin.
Từ khóa: Những từ khóa liên quan đến nhóm tin.
[SVTH: Võ Quang Huy] Trang 36
1.5.3. Thêm bài viết.
Để thêm một bài viết mới trên website nukeviet ta thực hiện như sau.
Hình 1.5.5: Thêm một bài viết mới
Từ module “tin tức” ta duyên chuyển đí “Thêm bài mới” sau đó điền đầy đủ các thông tin.
Tiêu đề: Tên tiêu đề của bài viết.
Liêt kết tỉnh: Liên kết sẽ được “Get” sau khi chúng ta ghi xong tiêu đề. Đây là đường dẫn của bài viết.
Chuyên mục của bài viết: Chọn các chuyên mục chúng ta đã thiết lập.
Hình minh họa: Đây là hình ảnh minh họa cho bài viết.
Giới thiệu ngắn gọn: Giới thiệu tóm tắt nội dung của bài viết
Nội dung chi tiết: Nội dung của bài viết, nội dung của bài viết sẽ được hổ trợ định dạng văn bản, màu chữ, font chữ, kích thước, bảng, hình ảnh, video, link, đính kèm ....vv.
Ngoài ra chúng ta có thể chọn được thời gian xuất hiện bài viết, chọn các nhóm tin, thiết lập từ khóa để tìm ra bài viết.
[SVTH: Võ Quang Huy] Trang 37
Hình 1.5.6: Điền các thông tin cho bài viết
Sau khi điền đầy đủ thông tin ta có thể chọn:
Lưu bài viết không đăng: Bài viết sẽ được lưu trong module
Đăng bài viết: Bài viết sẽ được đăng ra ngoài website.
Sau khi bài viêt đã được lưu ta có thể tùy chọn “sửa” hoặc “xóa” bài viết.
[SVTH: Võ Quang Huy] Trang 38
CHƯƠNG II : PHÂN TÍCH VÀ THIẾT KẾ XÂY DỰNG WEBSITE VÀ HỆ THỐNG TRA CỨU ĐIỂM CHO TRƯỜNG
THPT PHẠM PHÚ THỨ TP. ĐÀ NẴNG 2.1.Giới thiệu về trường THPT Phạm Phú Thứ Tp. Đà Nẵng.
Tên trường: Trường THPT Phạm Phú Thứ Hiệu Trưởng: Nguyễn Bá Hảo.
Địa chỉ: Thôn An Ngãi Đông, Hòa Sơn, Hòa Vang, Đà Nẵng. Website: Chưa có.
Mail: C3PhamPhuThu.danang@moet.edu.vn Điện thoại: 0511.384.1460
Hình 2.1.1: Giới thiệu về trường THPT Phạm Phú thứ.
Trường THPT Phạm Phú Thứ ở An Ngãi Đông, xã Hòa Sơn, huyện Hòa Vang, TP Đà Nẵng cách trung tâm thành phố khoảng hơn 10 km về hướng Tây Bắc. Trên đường DT 602, đường lên khu du lịch Bà Nà, một địa danh nổi tiếng với nhiều kỉ lục quốc gia cũng như thế giới, nằm gần khu công nghệ cao Hòa Liên. Trường thành lập theo Quyết định số 125/QĐ – UBND ngày 21/8/2001 của Ủy ban nhân dân Thành phố Đà Nẵng. Ban đầu thành lập trường THPT Phạm Phú Thứ gồm
[SVTH: Võ Quang Huy] Trang 39
hai cấp học là THCS và THPT. Cấp THPT chỉ có 4 lớp 10 với gần 200 học sinh. Năm 2006, trường được tách ra thành 2 trường, đó là trường THPT Phạm Phú Thứ và trường THCS Trần Quang Khải.
Sau 14 năm hình thành và phát triển, so với những ngày đầu thành lập, cơ sở vật chất còn thiếu thốn cũng như nguồn nhân lực còn hạn chế, nay trường đã mang một diện mạo hoàn toàn mới mẽ gồm 34 lớp với hơn 1500 học sinh cùng với đa số đội ngũ giáo viên trẻ năng nổ và tâm huyết với nghề gồm 99 cán bộ công chức, viên chức trong đó có 12 thạc sĩ chuyên ngành và 1 thạc sĩ quản lý giáo dục. Với tâm huyết đào tạo nguồn nhân lực có đầy đủ cả chất và lượng cho tương lai thành phố cũng như đất nước, thầy trò trường THPT Phạm Phú Thứ đã và đang ra sức thi đua dạy tốt và học tốt. Nhờ vậy, trong nhiều năm qua, trường đã đạt được nhiều thành tích đáng kể . Nhiều em học sinh đạt giải trong kì thi học sinh Giỏi cấp Thành phố, tỉ lệ đậu Tốt nghiệp những năm gần đây luôn trên 98% cùng với tỉ lệ đậu Đai học, Cao đẳng ngày càng cao.
Trường THPT Phạm Phú Thứ ra đời với nhiệm vụ giáo dục học sinh 4 xã khó khăn vùng Tây Bắc huyện Hòa Vang của thành phố Đà Nẵng gồm Hòa Sơn, Hòa Liên, Hòa Bắc, Hòa Ninh. Trường THPT Phạm Phú Thứ cũng là đơn vị duy nhất đảm nhận nhiệm vụ giáo dục cho các em học sinh người dân tộc Cơtu. Nhằm tạo điều kiện tối đa cho các em tham gia học tập. ở mỗi khối lớp có một lớp dành riêng cho người dân tộc Cơtu cùng với nơi ăn chốn ở cho các em ở khu nội trú tại trường.
[SVTH: Võ Quang Huy] Trang 40
2.2. Cấu trúc chung của website trường THPT Phạm Phú Thứ. 2.2.1. Người sử dụng. 2.2.1. Người sử dụng.
Cấu trúc của website đối với người sử dụng (Giáo viên, học sinh, phụ huynh). Được thiết kế với các thành phần chính như sau.
Hình 2.2.1: Cấu trúc của website đội với người dùng
Ngoài ra còn có một số thành phần khác như: Liên hệ, thống kê, thăm dò ý kiến, quảng cáo.
2.2.2. Người quản trị.
[SVTH: Võ Quang Huy] Trang 41
2.3.Xây dựng mô-đun tra cứu điểm.
Mô-đun này xây dựng nhằm để đáp ứng nhu cầu tra cứu điểm học tập của học sinh, cũng như của phụ huynh đối với con em mình.
Mô-đun sẽ đáp ứng một số yêu cầu như: Tra cứu điểm học tập các môn của học sinh. Chỉnh sửa điểm của học sinh.
Để xây dựng mô-đun này ở đây đã dựa trên nền tảng cấu trúc của các mô-đun mặc định trong Nukeviet, và quy trình hệ thống của Nukeviet để xây dựng thử nghiệm mô-đun này.
2.3.1. Phân tích hệ thống. 2.3.1.1. Sơ đồ chứng năng. 2.3.1.1. Sơ đồ chứng năng.
[SVTH: Võ Quang Huy] Trang 42
Việc quản trị hệ thống module bao gồm những công việc sau:
- Quản lí danh sách học sinh: Cập nhật, sửa, xóa một thông tin của học sinh theo lớp.
- Quản lý năm học: Cập nhật, sửa, xóa năm học. - Quản lý môn học: Cập nhật, sửa, xóa môn học. - Quản lý lớp: Cập nhật sửa xóa lớp.
- Quản lý điểm: Cập nhật, sửa điểm miệng, điểm kiểm tra 15 phút, điểm kiểm tra 1 tiết, điểm thi học kỳ và điểm trung bình của học sinh.
2.3.1.2. Sơ đồ ngữ cảnh.
Hình 2.3.2: Sơ đồ ngữ cảnh. 2.3.2. Thiết kế cơ sở dữ liệu.
Khi tiến hành cài đặt Nukeviet, hệ thống sẽ tự động tạo ra cơ sở dữ liệu của mình vào MySQL. Các bảng có tiền tố là nv3_, tiếp theo là tên bảng cơ sở dữ liệu.
Trong trường hợp cơ sở dữ liệu của module nào đó thì tên module sẽ đứng sau tiền tố nv3_, và cuối cùng là tên của bảng
[SVTH: Võ Quang Huy] Trang 43
Trong đó mô-đum tra điểm sẽ bao gồm các cơ sở dữ liệu: - nv3_vi_tradiem_diem
- nv3_vi_tradiem_dshs - nv3_vi_tradiem_lop
- nv3_vi_tradiem_monhoc - nv3_vi_tradiem_namhoc
Các bảng dữ liệu trên đã chứa các thông tin môn học, danh sách học sinh, điểm, năm học, lớp học.
2.3.2.1. Thiết kế các bảng dữ liệu.
Bảng dữ liệu môn học: nv3_vi_tradiem_monhoc Table: nv3_vi_tradiem_monhoc – Môn học
Tên Kiêu dữ liệu Khóa
chính Chú thích
monid int(2) PK Mã môn học
tenmon Varchar(20) Tên môn học
Bảng 2.3.1: Bảng dữ liệu môn học.
Bảng dữ liệu năm học: nv3_vi_tradiem_namhoc Table: nv3_vi_tradiem_namhoc – Măm học
Tên Kiêu dữ liệu Khóa
chính Chú thích
manamhoc int(2) PK Mã năm học
tennamhoc Varchar(12) Tên năm học
[SVTH: Võ Quang Huy] Trang 44
Bảng dữ liệu lớp học: nv3_vi_tradiem_lop Table: nv3_vi_tradiem_lop – Lớp học
Tên Kiêu dữ liệu Khóa
chính Chú thích
lopid int(2) PK Mã lớp học
tenlop Varchar(7) Tên lớp học
Bảng 2.3.3: Bảng dữ liệu lớp học.
Bảng dữ liệu danh sách học sinh: nv3_vi_tradiem_dshs Table: nv3_vi_tradiem_dshs – danh sách học sinh
Tên Kiêu dữ liệu Khóa
chính Chú thích
mahs int(7) PK Mã học sinh
hoten varchar(30) Tên học sinh
phai int(1) Giới tính
ngaysinh varchar(10) Ngày sinh
noisinh varchar(40) Nơi sinh
manamhoc int(2) Mã năm học
lopid int(2) Mã lớp học
[SVTH: Võ Quang Huy] Trang 45
Bảng dữ liệu điểm: nv3_vi_tradiem_diem Table: nv3_vi_tradiem_diem – Điểm
Tên Kiêu dữ liệu Khóa
chính Chú thích id int(20) PK Mã điểm
mahs varchar(30) Mã học sinh
manamhoc int(2) Mã năm học
mahocky int(1) Mã học kỳ
lopid int(2) Mã lớp
monid int(2) Mã môn học
m_1 varchar(5) Điểm miệng lần 1 m_2 varchar(5) Điểm miệng lần 2 m_3 varchar(5) Điểm miệng lần 3
15_1 varchar(5) Điểm 15 phút lần 1 15_2 varchar(5) Điểm 15 phút lần 2 15_3 varchar(5) Điểm 15 phút lần 3 45_1 varchar(5) Điểm 45 phút lần 1 45_2 varchar(5) Điểm 45 phút lần 2 45_3 varchar(5) Điểm 45 phút lần 3
Thi varchar(5) Điểm thi
tbm varchar(5) Điểm trung bình cộng Bảng 2.3.5: Bảng dữ liệu điểm
[SVTH: Võ Quang Huy] Trang 46
2.3.2.2. Sở đồ quan hệ.
Hình 2.3.3: Sơ đồ quan hệ dữ liệu. 2.3.3. Cài đặt
- Cấu trúc hệ thống mô-đun: Gồm có các thư mục và file .php
[SVTH: Võ Quang Huy] Trang 47
File version.php Có chức năng khai báo tiêu đề module, các funcs có khối, tác giả module, thông tin phiên bản, cấu trúc thư mục trong thư mục uploads.
File version.php có nội dung:
<?php
if ( ! defined( 'NV_ADMIN' ) or ! defined( 'NV_MAINFILE' ) ) die( 'Stop!!!' ); $module_version = array( "name" => "Tradiem", // "modfuncs" => "main", // "submenu" => "main", // "is_sysmod" => 0, // "virtual" => 1, // "version" => "1.0.0", // "date" => "", //
"author" => "Khóa luận tốt nghiệp (huykira@gmail.com)", // "note" => "", //
"uploads_dir" => array($module_name) );
?>
"modfuncs" => "main": Tên các funcs trong thư mục funcs có khối khi hoạt động bên ngoài site. Đối với các funcs không có khối ví dụ như để xử lý AJAX, gửi email (popup) thì không cần khai báo.
"is_sysmod" => 0, : Có phảo module hệ thông hay không 0: không 1: có. "virtual" => 1: Cho phép ảo hóa module không 0: không 1: có date,author, version: thông tin ngày, tác giả, phiên bản module. uploads_dir: Khai báo cấu trúc thư mục trong thư mục uploads. Với khai báo như trên thì khi kích hoạt module hệ thông sẽ
[SVTH: Võ Quang Huy] Trang 48
tạo một thư mục có tên là tên của module trong thư mục upload (biến $module_name được hiểu là tên module)
File admin.functions.php: tệp tin này thường chứa các function, hằng dùng trong admin.
File admin.functions.php có nội dung.
<?php
if ( ! defined( 'NV_ADMIN' ) or ! defined( 'NV_MAINFILE' ) or ! defined( 'NV_IS_MODADMIN' ) ) die( 'Stop!!!' ); $submenu['config'] = $lang_module['config']; $submenu['quanli_nam'] = $lang_module['quanli_nam']; $submenu['quanli_mon'] = $lang_module['quanli_mon']; $submenu['quanli_lop'] = $lang_module['quanli_lop']; $submenu['quanli_diem'] = $lang_module['quanli_diem']; $submenu['import'] = $lang_module['import']; $allow_func=array('config','addconfig','delconfig','main','quanli_nam','addnam','delnam','quanli_mon', 'addmon','delmon','quanli_lop','addlop','dellop','addhs','delhs','import','importgv','quanli_diem','adddiem','deldi em' , 'config', 'khoitaodl','khoitaoxl','change_ac');
define( 'NV_IS_FILE_ADMIN', true ); ?>
$submenu: Là menu con của module Tra điểm xuất hiện trong khu vực quản trị. Tương ứng như sau:
- $submenu['config'] = $lang_module['config'] : Cấu hình
[SVTH: Võ Quang Huy] Trang 49
- $submenu['quanli_mon'] = $lang_module['quanli_mon']: Quản lý môn học - $submenu['quanli_lop'] = $lang_module['quanli_lop']: Quản lý lớp
- $submenu['quanli_diem'] = $lang_module['quanli_diem']: Quản lý điểm - $submenu['import'] = $lang_module['import']: Inport dữ liệu
File action.php đây là file tạo lập cơ sở dữ liệu cho module.
Nội dung của file action.php
<?php
if ( ! defined( 'NV_IS_FILE_MODULES' ) ) die( 'Stop!!!' ); $sql_drop_module = array();
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_diem`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_dshs`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_lop`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_monhoc`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_namhoc`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_info`";
$sql_create_module = $sql_drop_module;
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_diem` (
`id` bigint(20) NOT NULL auto_increment, `mahs` varchar(15) NOT NULL,
[SVTH: Võ Quang Huy] Trang 50
`manamhoc` tinyint(2) NOT NULL, `mahocky` tinyint(1) NOT NULL, `monid` tinyint(2) NOT NULL, `m_1` varchar(5), `m_2` varchar(5), `m_3` varchar(5), `15_1` varchar(5), `15_2` varchar(5), `15_3` varchar(5), `45_1` varchar(5), `45_2` varchar(5), `45_3` varchar(5), `thi` varchar(5), `tbm` varchar(5),
`gvid` mediumint(3) DEFAULT '0' NOT NULL, PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_dshs` (
`id` int(11) NOT NULL auto_increment, `mahs` varchar(15) NOT NULL, `manamhoc` tinyint(2) NOT NULL, `lopid` tinyint(3) NOT NULL, `hoten` varchar(40) NOT NULL,
[SVTH: Võ Quang Huy] Trang 51
`phai` tinyint(1) DEFAULT '1' NOT NULL, `ngaysinh` varchar(10) NOT NULL, `noisinh` varchar(40) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_lop` (
`lopid` tinyint(3) NOT NULL, `tenlop` varchar(50) NOT NULL,
`manamhoc` tinyint(2) DEFAULT '0' NOT NULL, `id` int(9) NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_monhoc` (
`monid` tinyint(2) NOT NULL, `tenmon` varchar(50) NOT NULL, PRIMARY KEY (`monid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_namhoc` (
`manamhoc` tinyint(2) NOT NULL, `tennamhoc` varchar(12) NOT NULL, PRIMARY KEY (`manamhoc`)
[SVTH: Võ Quang Huy] Trang 52
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_info` (
`id` mediumint(3) NOT NULL, `info` varchar(255) NOT NULL, `ghichu` varchar(255),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"; ?>
Trong file là các câu lên SQL để tạo các bảng dữ liệu: Học sinh, điểm, môn học, năm học, lớp học, info.
File functions.php chứa các hàm dùng ngoài site. Nội dùng của file functions.php
<?php
if (! defined ( 'NV_SYSTEM' )) die ( 'Stop!!!' );
define ( 'NV_IS_MOD_TRADIEM', true ); function creat_config($str) {
if (! file_exists ( NV_ROOTDIR . '/' . NV_DATADIR . '/tradiem/' . $str . ".txt" )) { $f = fopen ( NV_ROOTDIR . '/' . NV_DATADIR . '/tradiem/' . $str . ".txt", "w" ); if ($str == 'config') {
[SVTH: Võ Quang Huy] Trang 53
fwrite ( $f, 'Hệ thống tra điểm của trường THPT Phạm Phú Thứ Đà Nẵng' );} fclose ( $f );}}
function is_admin($nickname) { global $module_data, $db;
$sql = "SELECT a.userid FROM " . NV_USERS_GLOBALTABLE . " a INNER JOIN " .
NV_AUTHORS_GLOBALTABLE . " b ON a.userid=b.admin_id WHERE a.username=" . $db->dbescape ( $nickname ) . "";
list ( $userid ) = $db->sql_fetchrow ( $db->sql_query ( $sql ) ); return ($userid) ? 1 : 0;
} ?>
Ngoài các file này còn có các thư mục như:
- Thư mục “admin”: Chứa tất cả các hàm chạy trong khu vực quản trị. - Thư mục “func”: Chứa tất cả các file chạy ngoài site.
- Thư mục “js”: Chứa các đoạn java sử dụng trong module.
- Thư mục “language”: Chứa các file ngôn ngữ trong admin và bên ngoài site cho module.
[SVTH: Võ Quang Huy] Trang 54
CHƯƠNG 3: THỬ NGHIỆM CHƯƠNG TRÌNH 3.1.Một số mô-đun quản trị
3.1.1. Mô-đun giới thiệu (About).
Hình 3.1.1: Mô-đun giới thiêu (about)
Mô-đun này có nhiệm vụ hiển thị thông tin giới thiệu ra ngoài trang chủ. Chỉ có một chức năng chính là thêm bài giới thiệu mới. Có chức năng quản lý bài viết như xóa và sửa.
Việc thêm bài gới thiệu mới hoàn toàn tương tự như thêm một bài viết mới bên mô-đun “Tin Tức”.
[SVTH: Võ Quang Huy] Trang 55
3.1.2. Mô-đun Tài nguyên (download).
Đây là mô-đun có nhiệm vụ cung cấp cho người dùng khả năng download tài