Quản lý người dùng

Một phần của tài liệu Bài tập lớn thiết kế website tin tức đơn giản bằng ASP NET + CODE (Trang 25)

1. 2.2.1 Yều cầu của đơn vị

3.3.2 Quản lý người dùng

Hệ Thống Website

Quản Trị Hệ Thống Giao Tiếp Người Dùng

Quản lý người dùng Quản lý chuyên mục Các bài viết chờ đăng Phản hồi Đăng nhập hệ thống Cung cấp tin tức Tìm kiếm, Tra cứu

- Với tài khoản đăng nhập vào là admin, thì admin có quyền quản lý người dùng cho website. Admin có thể phân quyền cho người sử dụng, để thuận tiện cho việc cập nhật thông tin trên website.

3.3.3 Quản lý chuyên mục

- Quản lý các chuyên mục chính trên website

3.3.4 Quản lý các bài viết chờ đăng

- Sau khi đăng nhập, admin duyệt các tin tức chờ đăng

3.3.5 Phản hồi của người dùng

- Admin khi đăng nhập có thể xem các phản hồi của người dùng

3.4 Mô hình luồng dữ liệu mức khung cảnh.

H1. Mô hình luồng dữ liệu mức khung cảnh

3.5. Mô hình luồng dữ liệu mức đỉnh

Hệ Thống Website Người sử dụng Quản trị viên

Kết quả tra cứu

Thông tin cần tra cứu

Thông tin đăng nhập

H2. Mô hình luồng dữ liệu mức đỉnh 3.6. Mô hình luồng dữ liệu mức dưới đỉnh

H3 .Mô hình chức năng quản lý thành viên

3.6.2 Mô hình chức năng quản trị nội dung website

H4.Mô hình chức năng quản trị nội dung website

Quản lý Thêm, Sửa, Xóa

Quản lý truy cập Người Quản Trị Sửa, xóa Thông Tin Sửa Đổi Thành Viên Mới Đăng Nhập

Thông báo từ chối

Dữ Liệu Thành Viên

Quản Trị Viên

Kiểm duyệt nội dung đăng

tải Thống kê nội dung Yêu cầu xem nội dung Nội dung cần xem Bài cần đăng tải Thông tin cập nhật

Dữ liệu nội dung website

Thông tin cập nhật

Cập Nhật Thông Tin

3.6.2 Mô hình chức năng tìm kiếm tra cứu thông tin.

H5. Mô hình chức năng tìm kiếm, tra cứu thông tin 3.7 Phân tích thiết kế cơ sở dữ liệu

Người sử dụng

Dữ liệu nội dung Website

Cung cấp tin tức

Yêu cầu truy cập thông tin

3.7.1 Quan hệ giữa các bảng trong cơ sở dữ liệu

Chương IV: Cài Đặt

Chúng xin giới thiệu một số giao diện chương trình và các chức năng của chương trình đã cài đặt được

5.1 Trang chủ

H1.Giao diện trang chủ

Trang chủ là giao diện chính của chương trình, nhìn vào giao diện của trang chủ chúng ta có thể thấy toàn bộ chức năng của chương trình. Ví dụ: Trang chủ, Tin Học, Download… Đồng thời trang chủ cũng là một trang thông tin, thông báo về các hoạt động, tin tức giáo dục, trong và ngoài trường. Được cập nhật hàng ngày từ người quản trị hệ thống

H2.Giao diện trang Tin Học

5.3 Trang hiển thị chi tiết một bản tin

H3.Giao diện trang hiển thị chi tiết một bản tin

H4.Giao diện trang download

Tại trang download,ta có thể thấy khi chưa đăng nhập,sẽ nhận được thông báo “Bạn cần đăng nhập mới thấy được link download”.Vì vậy bạn phải là thành viên của website và đăng nhập thì mới thấy được link download.

5.5 Trang thông tin tuyển sinh

H5.Giao diện trang thông tin tuyển sinh

H6.Giao diện trang tin văn nghệ-thơ ca

5.7 Trang đăng nhập website

H7.Giao diện trang đăng nhập hệ thống

H8.Giao diện trang đăng ký thành viên

5.9.Giao diện trang tin tức giáo dục

H9.Giao diện trang tin tức giáo dục

Đây là một phần quan trong nhất của website. Trang này cho phép người quản trị có thể thêm, sửa, xóa, các thông tim hoat động thông báo của nhà trường. Trang quản trị này chỉ có những người dược cấp tài khoản admin mới có thể truy cập vào hệ thống quản trị

Đây là giao diện đăng nhập, trước khi vào hệ thống Người sử dụng phải đăng nhập bằng tài khoản admin đã được cấp

Đây là giao diện trang admin sau khi đăng nhập thành công. Trang này có các chức năng cập nhât tin tức, menu, thông báo...

Giao diện trang đăng tin tức mới cho website

Giao diện trang quản lý ảnh quảng cáo trên website.

5.11 Các lớp, phương thức, và thủ tục lưu trữ

5.11.1 Để thiết kế các chức năng trong trang quản trị chúng em đã sử thủ tục lưu trữ (Stored Procedure) để quản lý thêm, sửa, xóa.Dưới đây là một số Stored Procedure chính mà chúng em sử dụng trong bài:

Stored Procedure quản lý cập nhật bản tin:

ALTER PROCEDURE CapNhat @mabantin int, @tieude nvarchar(255), @noidungtomtat ntext, @noidung ntext, @ngaydangtin datetime, @hinhanh nvarchar(255), @chuthichhinh nvarchar(255), @malinhvuc nvarchar(10) AS begin

update BANTIN set

tieude=@tieude, noidungtomtat=@noidungtomtat, noidung=@noidung, ngaydangtin=@ngaydangtin, hinhanh=@hinhanh, chuthichhinh=@chuthichhinh, malinhvuc=@malinhvuc where mabantin=@mabantin end

Stored Procedure quản lý thêm tin tức mới:

ALTER PROCEDURE ThemTinTuc @mabantin int, @tieude nvarchar(255), @noidungtomtat ntext, @noidung ntext, @ngaydangtin datetime, @hinhanh nvarchar(255), @chuthichhinh nvarchar(255), @malinhvuc nvarchar(10) AS begin

insert into BANTIN

values(@mabantin,@tieude,@noidungtomtat,@noidung,@ngaydangtin,@hinhanh,@chu thichhinh,@malinhvuc)

end

Stored Procedure quản lý xóa tin tức:

ALTER PROCEDURE Xoa @mabantin int AS

begin

delete from BANTIN where mabantin=@mabantin

end

5.11.2 Các lớp xử lý (Class)

Để xử lý thêm, sửa, xóa bài viết, ảnh quảng cáo, quản lý người dùng……sau khi đã có được các thủ tục lưu trữ, chúng em tiến hành viết các lớp xử lý lấy đối tượng từ Stored Procedure.Dưới đây là một số lớp xử lý (Class) chính:

Lớp xử lý kết nối Database, thực thi lệnh executenonquery, ExecuteScalar để trả về một giá trị

public class AccessData

{

private string ConnecString =

ConfigurationManager.ConnectionStrings["Data"].ConnectionString;

public SqlConnection GetConnect() {

return new SqlConnection(ConnecString); }

//Ham tra ve 1 datatable

public DataTable GetTable(string sql) {

SqlConnection con = GetConnect();

SqlDataAdapter ad = new SqlDataAdapter(sql,con);

DataTable dt = new DataTable();

con.Close(); return dt; }

//ham thuc thi lenh executenonquery

public void ExecuteNonquery(string sql) {

SqlConnection con = GetConnect();

con.Open();

SqlCommand cmd = new SqlCommand(sql,con);

cmd.ExecuteNonQuery(); con.Close();

cmd.Dispose(); }

//Ham thuc thi lenh ExecuteScalar de tra ve 1 gia tri

public string ExecuteScalar(string sql) {

SqlConnection con = GetConnect();

con.Open();

SqlCommand cmd = new SqlCommand(sql,con);

string kq = cmd.ExecuteScalar().ToString(); con.Close();

cmd.Dispose(); return kq; }

public SqlDataReader ExecuteReader(string sql) {

SqlConnection con = GetConnect();

con.Open();

SqlCommand cmd = new SqlCommand(sql,con);

SqlDataReader reader = cmd.ExecuteReader();

return reader; }

}

Lớp xử lý thêm, sửa, xóa dữ liệu trong database

public class BaiViet

{

//Khai bao cac thuoc tinh

public int mabantin { get; set; } public string tieude { get; set; }

public string noidungtomtat { get; set; } public string noidung { get; set; }

public string ngaydangtin { get; set; } public string hinhanh { get; set; } public string chuthichhinh { get; set; } public string malinhvuc { get; set; }

AccessData ac = new AccessData();

public void Insert(BaiViet bv) {

SqlConnection conn = ac.GetConnect(); conn.Open();

SqlCommand cmd = new SqlCommand("ThemTinTuc",conn);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.Parameters.Add("@mabantin",System.Data.SqlDbType.Int).Value=bv.mabantin ;

cmd.Parameters.Add("@tieude", System.Data.SqlDbType.NVarChar).Value = bv.tieude;

cmd.Parameters.Add("@noidungtomtat",

System.Data.SqlDbType.NText).Value = bv.noidungtomtat;

cmd.Parameters.Add("@noidung", System.Data.SqlDbType.NText).Value = bv.noidung;

cmd.Parameters.Add("@ngaydangtin",

System.Data.SqlDbType.DateTime).Value = bv.ngaydangtin; cmd.Parameters.Add("@hinhanh",

System.Data.SqlDbType.NVarChar).Value = bv.hinhanh; cmd.Parameters.Add("@chuthichhinh",

System.Data.SqlDbType.NVarChar).Value = bv.chuthichhinh; cmd.Parameters.Add("@malinhvuc",

System.Data.SqlDbType.NVarChar).Value = bv.malinhvuc; cmd.ExecuteNonQuery();

cmd.Dispose(); conn.Close(); }

public void Update(BaiViet bv) {

SqlConnection conn = ac.GetConnect(); conn.Open();

SqlCommand cmd = new SqlCommand("CapNhat", conn);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.Parameters.Add("@mabantin", System.Data.SqlDbType.Int).Value = bv.mabantin;

cmd.Parameters.Add("@tieude", System.Data.SqlDbType.NVarChar).Value = bv.tieude;

cmd.Parameters.Add("@noidungtomtat",

System.Data.SqlDbType.NText).Value = bv.noidungtomtat;

cmd.Parameters.Add("@noidung", System.Data.SqlDbType.NText).Value = bv.noidung;

cmd.Parameters.Add("@ngaydangtin",

System.Data.SqlDbType.DateTime).Value = bv.ngaydangtin; cmd.Parameters.Add("@hinhanh",

System.Data.SqlDbType.NVarChar).Value = bv.hinhanh; cmd.Parameters.Add("@chuthichhinh",

System.Data.SqlDbType.NVarChar).Value = bv.chuthichhinh; cmd.Parameters.Add("@malinhvuc",

System.Data.SqlDbType.NVarChar).Value = bv.malinhvuc; cmd.ExecuteNonQuery();

cmd.Dispose(); conn.Close(); }

public void Delete(BaiViet bv) {

SqlConnection conn = ac.GetConnect(); conn.Open();

SqlCommand cmd = new SqlCommand("Xoa", conn);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.Parameters.Add("@mabantin", System.Data.SqlDbType.Int).Value = bv.mabantin; cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close(); } }

Sau khi đã tạo được các lớp xử lý, chúng em thiết kế các trang quản lý sử dụng các lớp (Class) vừa tạo:

Phương thức gọi lớp xử lý class: BaiViet bv = new BaiViet();

Hàm chọn dòng dữ liệu trên girdview đổ xuống textbox và xóa dữ liệu:

protected void GirdView1_RowCommand(object sender, GridViewCommandEventArgs

e) {

int index = int.Parse(e.CommandArgument.ToString()); if (e.CommandName == "Select")//Load du lieu len luoi

{

var ac = new AccessData();

SqlDataReader reader = ac.ExecuteReader(@"select

tieude,noidungtomtat,noidung,hinhanh,chuthichhinh,malinhvuc from BANTIN

where mabantin="+int.Parse(girdhienthi.Rows[index].Cells[0].Text)+"");

while (reader.Read()) { txttieude.Text = reader[0].ToString(); txtnoidungtomtat.Text = reader[1].ToString(); fcknoidung.Value= reader[2].ToString(); txtpath.Text = reader[3].ToString(); txtchuthich.Text = reader[4].ToString(); DropDownList1.SelectedValue = reader[5].ToString(); } reader.Close(); ViewState["mabantin"] = int.Parse(girdhienthi.Rows[index].Cells[0].Text); }

else if (e.CommandName == "del") {

BaiViet bv = new BaiViet();

bv.mabantin = int.Parse(girdhienthi.Rows[index].Cells[0].Text); bv.Delete(bv);

Response.Redirect("~/Admin/Quanlitintuc.aspx"); }

}

Hàm upload ảnh vào cơ sở dữ liệu:

protected void Button2_Click(object sender, EventArgs e) {

try

{

var bv = new BaiViet() {

mabantin = int.Parse(ViewState["mabantin"].ToString()), tieude=txttieude.Text,

noidungtomtat=txtnoidungtomtat.Text, noidung=fcknoidung.Value,

ngaydangtin=DateTime.Now.ToShortDateString(), hinhanh=txtpath.Text, chuthichhinh=txtchuthich.Text, malinhvuc=(DropDownList1.SelectedValue) }; bv.Update(bv); Response.Redirect("~/Admin/Quanlitintuc.aspx"); } catch (Exception) { throw;}}

KẾT LUẬN

Kết thúc bài tập lớn này,chúng em đã vận dụng được những kiến thức cơ bản mình đã học được trong thời gian qua.Chúng em đã vận dụng được các cách lập trình cơ bản của môn lập trình Win(C#) vào thiết kế Webform trên môi trường ASP.NET C# 3.5,như webform đăng nhập,phân quyền,tin tức… sử dụng code html để bố trí hình ảnh,banner,table…Và một số kiến thức em tự học được trong quá trình tìm kiếm để làm đồ án.

Tuy vậy, do thời gian làm bài tập lớn và kiến thức của em còn hạn chế nên những ý tưởng của em cho website như: “thiết kế các mục giải trí cho học sinh.Các mục trò chơi Toán học, đố vui nhằm nâng cao tư duy của học sinh”.vẫn chưa được hoàn thiện. Với kiến thức nền tảng đã được học ở trường, và những kiến thức tự học hỏi được trên Internet trong quá trình làm bài tập lớn, chúng em đã hoàn thành đề tài “Xây dựng Website tin tức cho trường THPT”. Mặc dù đã rất cố gắng và đầu tư rất nhiều nhưng do thời gian và kiến thức có hạn nên đề tài của chúng em không tránh khỏi được những thiếu sót. Chúng em rất mong nhận được sự thông cảm và góp ý của Thầy để chương trình ngày càng hoàn thiện hơn.

TÀI LIỆU THAM KHẢO

[1]: Trần Ngọc Anh, “ASP & Kỹ thuật lập trình Web”, Nhà xuất bản Trẻ, 2002.

[2]: Nguyễn Phương Lan, “Giáo trình tin học lý thuyết và bài tập ASP 3.5 ASP.NET ”, Nhà xuất bản Giáo dục, 2001.

[3]: “Những bài thực hành ASP”, Nhà xuất bản Thống Kê, 2002.

[4]: VN-GUIDE tổng hợp và biên dịch, “ASP cơ sở dữ liệu căn bản và chuyên sâu”, Nhà xuất bản Thống Kê, 2002.

[5]: Phạm Hữu Khang, “Lập trình ứng dụng chuyên nghiệp SQL Server 2000”, Nhà xuất bản Giáo dục, 2002.

[6]: Thạc Bình Cường, “Phân tích và thiết kế hệ thống thông tin”, Nhà xuất bản khoa học và kỹ thuật, 2002.

[7]: PGS- TS Nguyễn Văn Ba “Giáo Trình Phân Tích Thiết Kế Hệ Thống Thông Tin”. -Nhà Xuất Bản Đại Học Gia Hà Nội- 2003.

[8]: Lưu Bích Thủy “Tự Học ASP.NET Website “ Và một số trang web:

http://aspvn.net/

http://codeprojects.com/ http://diendandaihoc.com.vn/

Một phần của tài liệu Bài tập lớn thiết kế website tin tức đơn giản bằng ASP NET + CODE (Trang 25)

Tải bản đầy đủ (DOC)

(45 trang)
w