Đồ án Thiết kế Website tin tức

Với những thuận lợi và khó khăn trong quá trình làm việc, website vềcơbản đã hoàn thành nhưng không tránh phần sai sót. Tuy nhiên, chúng em đã rất nổlực và website tin tức đã hoàn thành được những nội dung chính sau: • Phân tích và đánh giá các yêu cầu của website tin tức cơbản. • Vận dụng ngôn ngữHTML, PHP, MYSQL và công cụDreamweaver vào việc xây dựng website tin tức. • Phần giao diện người dùng: giao diện thân thiện, cho phép bạn đọc dễdàng xem tin, tìm kiếm tin, đăng bài, ý kiến cho mỗi tin cùng với những trò chơi mà website cung cấp. • Phần quản tri: Đã xây dựng được hệthống quản lý dữliệu của website, giúp cho những người quản trịdễdàng quản lý thông tin, dữliệu, xem, thêm, xóa , cập nhật dữliệu cho website.

pdf99 trang | Chia sẻ: tuandn | Lượt xem: 23200 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế Website tin tức, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trang 1 LỜI MỞ ĐẦU Ngành công nghệ thông tin là một ngành khoa học đang trên đà phát triển mạnh và ứng dụng rộng rãi trên nhiều lĩnh vực. Cùng với xu hướng phát triển của các phương tiện truyền thông như Báo, Radio… thì việc sử dụng Internet ngày càng phổ biến. Truy cập Internet, chúng ta có được một kho thông tin khổng lồ phục vụ mọi nhu cầu, mục đích của chúng ta chỉ bằng một cái nhấp chuột. Nhận thức được nhu cầu tìm hiểu thông tin, giải trí của xã hội, là sự ra đời của hàng loạt website cho các mục đích thương mại, giải trí, tin tức…Để đáp ứng với việc cập nhật thông tin hàng ngày, tình hình xã hội, chính trị, thời sự, và sức khỏe… thì website tin tức ra đời là một nhu cầu tất yếu. Do đó, chúng em đã vận dụng ngôn ngữ PHP, MySQL và công cụ Dreamweaver để xây dựng ứng dụng Website Tin tức. Hoàn thành xong để tài, chúng em vô cùng biết ơn thầy, cô đã nhiệt tình giảng dạy, hướng dẫn và đặc biệt là cô PHẠM THỊ LAN ANH, người trực tiếp hướng dẫn nhiệt tình cho chúng em trong suốt quá trình nghiên cứu và thực hiện đề tài này. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 2 MỤC LỤC LỜI MỞ ĐẦU .....................................................................................................................1 U CHƯƠNG 1: TỔNG QUAN ..............................................................................................5 1.1 Giới thiệu đề tài Website Tin Tức ...........................................................................5 1.2 Phân tích những tiêu chí hình thành Tin Tức ........................................................5 1.3 Yêu cầu Website ........................................................................................................8 CHƯƠNG 2: PHÂN TÍCH VÀ LỰA CHỌN CÔNG NGHỆ ........................................9 2.1 Cài đặt Appserv.........................................................................................................9 2.2 Lập trình cơ sở dữ liệu MySQL.............................................................................15 2.2.1 Kết nối CSDL ......................................................................................................15 2.2.2 Chọn CSDL sử dụng ...........................................................................................15 2.2.3 Thực thi các câu lệnh truy vấn ...........................................................................16 2.2.4 Duyệt recordset...................................................................................................16 2.2.5 Đếm số record trong recordset...........................................................................17 2.2.6 Lấy ID vừa mới cập nhật ....................................................................................17 2.2.7 Thông báo lỗi của MYSQL .................................................................................17 2.2.8 Nhảy đến 1 record trong recordset.....................................................................17 2.2.9 Đóng kết nối........................................................................................................18 2.3 Lập trình PHP .........................................................................................................18 2.3.1 Giới thiệu ............................................................................................................18 2.3.2 Một số lệnh PHP.................................................................................................19 CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG...................................................23 3.1 Phân tích mức quan niệm dữ liệu..........................................................................23 SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 3 3.1.1 Mô tả thực thể kết hợp ........................................................................................23 3.1.2 Mô tả các mối kết hợp.........................................................................................28 3.1.4 Từ điển cơ sở dữ liệu .........................................................................................31 3.2 Mô hình dữ liệu quan hệ (Relational Data Diagram)..........................................36 3.3 Mô tả các ràng buộc toàn vẹn và bảng tầm ảnh hưởng. .....................................37 3.3.1 Ràng buộc toàn vẹn có bối cảnh là 1 quan hệ....................................................37 3.3.2 Ràng buộc toàn vẹn có bối cảnh gồm nhiều quan hệ .........................................42 3.4 Mô hình UML..........................................................................................................47 3.4.1 Xác định các Actor..............................................................................................47 3.4.2 Xác định các chức năng của Actor .....................................................................47 3.4.3 Xác định các Usecase .........................................................................................49 3.4.4 Đặc tả mô hình UML ..........................................................................................51 3.4.5 UseCase Diagram...............................................................................................52 3.4.6 Sequence Diagram..............................................................................................57 3.4.7 Class Diagram ....................................................................................................72 CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM ...................................................................80 4.1 Web User..................................................................................................................80 4.1.1 Tổ chức ..............................................................................................................80 4.1.2 Hiện Thực ...........................................................................................................83 4.2 Web Admin..............................................................................................................89 4.2.1 Tổ chức ...............................................................................................................89 4.2.2 Hiện thực.............................................................................................................90 KẾT LUẬN .......................................................................................................................98 SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 4 1 Kết quả đạt được........................................................................................................98 2 Hướng phát triển........................................................................................................98 TÀI LIỆU THAM KHẢO................................................................................................99 SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 5 CHƯƠNG 1: TỔNG QUAN 1.1 Giới thiệu đề tài Website Tin Tức “Tin tức tích lũy trong mỗi chúng ta được gọi là kiến thức, tài sản quý giá nhất của con người” Với sự bùng nổ thông tin trên internet, vai trò của các trang thông tin điện tử trực tuyến càng trở nên quan trọng. Khác với báo chí truyền thông có giới hạn thời gian cập nhật tin tức, các tờ báo trực tuyến đã cung cấp được sự tiện lợi trong việc cập nhật và phát hành thông tin. Về phía người dùng, họ có thể xem thông tin mọi lúc mọi nơi. Về phía những người cung cấp thông tin, các nhà báo, họ có thể dễ dàng cập nhật những tin tức mới nhất, thời sự nhất. Do đó việc sử dụng các trang thông tin trực tuyến luôn là điều cần thiết hiện nay nhằm đáp ứng nhu cầu cập nhật thông tin của mỗi người. Tin tức là những việc đã xãy ra dù tốt dù xấu, để giúp con người biết những chuyện xung quanh và trên Thế giới.Ngày nay nhờ thông tin truyền thông nhanh,cho nên bất cứ chuyện gì vừa xãy ra ở đâu trên thế giới thì ta đều có thể biết ngay, nhờ đó mà có thể học được nhiều cái hay cũng như tránh được những chuyện xấu xảy ra, như các trận sóng Thần, bão táp, núi lửa sắp đến, các chất độc hại trong thức ăn.... giúp con người biết trước mà tránh khỏi các nguy hiểm sắp đến. Tin tức vô cùng quan trọng nó cho người ta tri thức và là cơ sở để người ta tiến hành mọi việc lớn nhỏ. Khi có Internet, tin tức càng quan trọng vì tốc độ lan truyền nhanh ảnh hưởng ngay tức thì trên diện rộng. 1.2 Phân tích những tiêu chí hình thành Tin Tức Tiêu chí dùng để xác định tin tức có thể được tóm gọn lại như sau: Có liên quan, hữu ích, gây được sự quan tâm. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 6 Những tiêu chí đó được áp dụng rộng rãi nhưng mỗi nhà báo hay mỗi cơ quan báo chí đều sử dụng chúng theo một bối cảnh đặc thù để nhấn mạnh ý nghĩa theo cách riêng. Cái bối cảnh ấy do chính công chúng tạo ra.. Bạn đang đọc một bài báo đăng trên báo in. Trên truyền hình, một bài viết như thế sẽ có ít chi tiết hơn, nhưng bạn sẽ nhìn thấy đoạn băng quay cảnh những nhân vật chính đang tranh luận. Còn ở báo trực tuyến, một bài báo như thế sẽ bao gồm cả chi tiết và đoạn phim – cộng thêm sự kết nối dễ dàng đến những bài báo liên quan và những tư liệu đằng sau vụ việc. Cách trình bày sẽ khác nhau ở mỗi loại hình, nhưng những giá trị của tin tức đã làm cho nó trở nên quan trọng và kỹ năng tường thuật sự việc cũng như những yêu cầu kể lại câu chuyện sẽ có sự giống nhau. Sự liên quan, hữu ích và gây được quan tâm là những định hướng khái quát để thẩm định giá trị thông tin của bất kỳ sự kiện, vấn đề hay nhân vật nào. Cùng với những tiêu chí rõ ràng đó, những yếu tố đặc trưng hơn tiềm tàng trong mỗi câu chuyện. Quan trọng nhất là những yếu tố sau: • Tác động: Đây là một cách khác để đo mức độ liên quan và hữu ích. Có bao nhiêu người bị ảnh hưởng bởi một sự kiện hay một ý tưởng? Nó ảnh hưởng đến họ nghiêm trọng như thế nào? • Xung đột: Đây là một đề tài muôn thuở trong mọi câu chuyện, dù được thuật lại bởi báo chí, văn chương hay kịch nghệ. Những cuộc đấu tranh giữa người với người, giữa các quốc gia hay với sức mạnh thiên nhiên đều lôi cuốn người ta đọc. Xung đột chính là một yếu tố cơ bản của đời sống, các nhà báo phải tỉnh táo trước cám dỗ muốn làm cho câu chuyện tăng thêm kịch tính hoặc đơn giản hóa thái quá. • Mới lạ: Đây là một yếu tố khác phổ biến cả trong báo chí lẫn các loại hình khác. Con người hay sự kiện có thể gây được hấp dẫn và do đó có giá trị thông tin chỉ vì yếu tố đặc biệt hay kỳ quái. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 7 • Danh tiếng: Tên tuổi tạo nên tin tức. Tên tuổi càng lớn chừng nào thì bài báo càng quan trọng chừng đó. Những người dân thường luôn bị kích thích tò mò bởi việc làm của những người giàu có và nổi tiếng. • Gần gũi: Thông thường, người ta thích thú và quan tâm đến những gì diễn ra gần nơi họ ở. Khi họ đọc hay nghe một tin trong nước hay tin thế giới, họ thường muốn biết nó có liên can gì đến cộng đồng của chính họ. • Cấp thời: Tin đòi hỏi phải mới. Nếu tin thích đáng và hữu ích, nó hẳn phải đúng lúc. Ví dụ như khi viết về một vấn đề mà hội đồng thành phố phải đối mặt trước khi nó được quyết định thì sẽ có ích hơn là sau đấy. Những bài báo kịp thời cho người ta cơ hội được tham dự vào các vụ việc chung hơn là chỉ làm một khán giả. Lưu ý : những yếu tố trên gợi ra hai điều quan trọng về tin. • Thứ nhất, không phải mọi tin tức đều nghiêm túc, đều là chuyện sống chết. Nghề báo được miêu tả như “cuộc đối thoại của văn hóa với chính nó”. Cuộc đối thoại đó gắn kết thành nền văn hóa từ những chuyện kể về tội ác, chính trị cho tới các sự kiện trên thế giới, tất nhiên rồi; nhưng nó cũng bao gồm những câu chuyện của đời sống hằng ngày. Nó bao gồm cả những chuyện khôi hài và chuyện tầm phào. Tất cả những điều đó đều có thể là tin tức. • Thứ hai, tin tức không chỉ là việc góp nhặt lại sự kiện. Thuật lại một tin thường cũng có nghĩa là kể lại một câu chuyện. Tính tường thuật, tính nhân văn, kịch tính của câu chuyện là nghệ thuật của báo chí. Để tập hợp những sự kiện trong bài viết của mình, nhà báo sử dụng nhiều kỹ thuật giống như những kỹ thuật mà nhà xã hội học, nhà khoa học chính trị và nhà sử học sử dụng. Để viết bài báo cho ai cũng hiểu được sự kiện trong đó, nhà báo thường sử dụng kỹ thuật của những người cầm bút khác như nhà văn hay nhà biên kịch. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 8 1.3 Yêu cầu Website • Yêu cầu bạn đọc: Giao diện thân thiện. Dễ tìm kiếm thông tin. Tin tức website được cập nhật thường xuyên. • Yêu cầu thành viên: Cung cấp các chức năng có thể cập nhật tin tức dễ dàng. • Yêu cầu Admin: Thuận lợi trong việc quản lý thông tin thành viên, tin tức, dữ liệu của website. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 9 CHƯƠNG 2: PHÂN TÍCH VÀ LỰA CHỌN CÔNG NGHỆ 2.1 Cài đặt Appserv • Appserv bao gồm Apache (Webserver, PHP, MySQL, PHPMyAdmin). Cài rất tiện lợi. Muốn dùng Appserv, phải remove IIS (vì đụng port 80) hoặc dùng port khác 80 (không tiện lắm). • Remove IIS. • Nhắp đúp appserv-win32-2.5.9.exe để cài. Trong lúc cài , chú ý 2 mục sau: Mục Server Name: gõ localhost. Check mục : ; Old Password. • Chú ý: lúc này , folder gốc của webserver là C:\Appserv\www. Hình 2.1 - Bấm Next để tiếp tục. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 10 Hình 2.2 - Bấm I Agree để tiếp tục. Hình 2.3 - Chọn thư mục bạn muốn cài Appserv, bấm Next để tiếp tục. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 11 Hình 2.4 - Đánh dấu chọn các thành phần bạn muốn cài đặt. Đương nhiên, hãy đánh dấu hết vì bạn đều cần tất cả chúng. Bấm Next để tiếp tục. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 12 Hình 2.5 - Bạn phải nhập vào Server Name là localhost. Nhập địa chỉ Email tùy ý mà bạn thích vì điều này không quan trọng. Và, hãy giữ nguyên số 80 trong phần ApacheHTTP Port. Bấm Next để tiếp tục. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 13 Hình 2.6 - Nhập password và chọn Old Password Support, nhấn Install. Hình 2.7 – Nhấn Next. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 14 Hình 2.8 - Bấm Finish để hoàn tất. Hình 2.9 - Nếu hộp thoại tường lửa Windows hiện ra, hãy chọn Unblock. Nếu không, server trên localhost sẽ bị tường lửa Windows chặn lại. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 15 2.2 Lập trình cơ sở dữ liệu MySQL. 2.2.1 Kết nối CSDL • mysql_connect(, ,); Host: địa chỉ của máy cài MySQL, tên hoặc IP. nếu là máy nội bộ thì dùng localhost. Hàm này trả về 1 connection hoặc giá trị false nếu không kết nối được. Ví dụ: $conn=mysql_connect("localhost","root","root"); 2.2.2 Chọn CSDL sử dụng MySQL Server có thể chứa nhiều CSDL, hàm sau để chọn CSDL muốn dùng. • mysql_select_db(TênDatabase [,TenKetNoi]); Trong đó: TênDatabase: là tên cơ sở dữ liệu muốn dùng. TênKếtNối: là biến connection trả về do hàm mysql_connect. Tên kết nối có thể bỏ qua cũng được. VD: mysql_select_db("webtintuc",$conn); hoặc mysql_select_db("webtintuc"); Chú ý: Dùng thêm lệnh sau để ấn định bảng mã utf8: mysql_query("SET NAMES 'utf8'", $conn); SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 16 2.2.3 Thực thi các câu lệnh truy vấn • mysql_query(CâuLệnhSQL); Hàm trả về true nếu câu lệnh truy vấn thực thi thành công (trừ câu lệnh select). Hàm trả về 1 recordset (bảng dữ liệu) nếu câu lệnh select được thực thi thành công. Hàm trả về flase nếu câu lệnh truy vấn không được thực hiện. Ví dụ: $rsLT = mysql_query("select * from loaitin"); $result = mysql_query("delete from loaitin where idLT=1"); //result sẽ true hoặc false . Không gán result cũng được. 2.2.4 Duyệt recordset • mysql_fetch_array($TenRecordSet, mode); Hàm trả về 1 mảng kết quả chứa thông tin của record hiện hành hoặc giá trị false nếu record rỗng, đồng thời di chuyển con trỏ sang record kế. Mode là một trong những giá trị: MYSQL_NUM : mảng kết quả gồm các phần tử đánh theo số. MYSQL_ASSOC: mảng kết quả gồm các phần tử đánh theo key. MYSQL_BOTH: Các phần tử của mảng kết quả gấp đôi. Các phần tử đầu theo số, các phần tử sau theo key. • $row = mysql_fetch_row($TenRecordSet); Hàm trả về 1 mảng kết quả chứa thông tin của record hiện hành hoặc giá trị false nếu record rỗng, đồng thời di chuyển con trỏ sang record kế. Mảng kết quả gồm các phần tử đánh theo chỉ số. SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 17 • $row=mysql_fetch_assoc($TenRecordSet); Hàm trả về 1 mảng kết quả chứa thông tin của record hiện hành hoặc giá trị false nếu record rỗng, đồng thời di chuyển con trỏ sang record kế. Mảng kết quả gồm các phần tử đánh theo key. 2.2.5 Đếm số record trong recordset • mysql_num_rows($TenRecoret); Ví dụ: echo mysql_num_rows($kq); 2.2.6 Lấy ID vừa mới cập nhật Trong 1 bảng , nếu khóa chính được khai báo theo kiểu auto_increament thì sau khi thêm mới record, có thể lấy giá trị vừa mới cập nhật bằng hàm này. (Lấy để đưa vào các bảng khác làm khóa ngoại). mysql_insert_id(); Ví dụ: Bảng LoaiTin hiện có 3 record có id là 1,2,3 mysql_query("insert into LoaiTin (Ten) values('Nhịp cầu tâm sự'); echo mysql _insert_id(); // 4 2.2.7 Thông báo lỗi của MYSQL • Dùng hàm mysql_error(); Ví dụ: $kq=mysql_query("Delete from LaiTin") or die(mysql_error()); 2.2.8 Nhảy đến 1 record trong recordset • mysql_data_seek($TenRecordset, ThuTuRecord); Ví dụ: SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 18 mysql_data_seek($rdLT, 0); 2.2.9 Đóng kết nối • mysql_close() Ví dụ: mysql_close($conn); 2.3 Lập trình PHP 2.3.1 Giới thiệu • PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ Webserver. PHP mã nguồn mở, dùng cho mục đích tổng quát. • Do PHP được phát triển chỉ để dành cho ứng dụng web nên rất dễ dàng nhúng mã vào trang HTML. Tốc độ nhanh, nhỏ gọn, cú pháp giống C, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web rất phổ biến. • Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng nhưng cũng có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên. • Nói đơn giản: PHP là ngôn ngữ dạng script thực thi trên webserver nhằm tạo ra trang web động • Thẻ đánh đấu bắt đầu và kết thúc của phần mã PHP, qua đó máy chủ biết để xử lý và dịch mã cho đúng. • Mỗi dòng kết thúc bằng dấu ; • Trong trang html, các lệnh php nằm trong tag hoặc SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 19 • Các khối lệnh nằm trong { … } • Tên mở rộng của file là php • Chú thích // : 1 dòng / * … Khối lệnh */ • File PHP chỉ chạy khi nó được chuyển giao từ webserver. Vì vậy, muốn thực thi file php, bạn phải request nó thông qua webserver (nghĩa là mở browser, gõ Do đó không thể nhúp đúp vào file php để xem nó ở localcal như trang html được. Để chạy file PHP : + Nếu máy của bạn cài IIS : tạo file trong folder C:\Inetpub\wwwroot + Nếu máy của bạn cài AppserV : tạo file trong folder C:\AppserV\www 2.3.2 Một số lệnh PHP 2.3.2.1 Xử lý dữ liệu trên Form • Đối tượng $_GET, $_POST $_GET, $_POST là 2 mảng có sẵn trong PHP để chứa dữ liệu gửi lên từ form. Cả hai là mảng dùng key. Key là tên của các đối tượng trong form $_GET là đối tượng chứa dữ liệu gửi lên từ form dùng Method là Get $_POST là đối tượng chứa dữ liệu gửi lên từ form dùng Method là Post • Cách lấy giá trị từ form $_GET["Ten"] SVTH: Nguyễn Vũ Hoàng Oanh – Đỗ Xuân Hùng Trang 20 $_POST["Ten"] 2.3.2.2 Giới thiệu về http header Http header là các thông tin điều khiển nằm trong các http request , http response. Chứa các các chỉ thị báo cho trình duyệt/server biết cách xử lý thông tin. Ví dụ: trình