Nhiều công nghệ mới đã được ứng dụng và hỗ trợ cho Internet một trong số đó có ngôn ngữ PHP cơ sở dữ liệu MySQL, cùng với kiến thức học được em đã sử dụng ngôn ngữ này để xây dựng Websit
Trang 1Trờng đại học vinh Khoa công nghệ thông tin
o0o
-Đồ áN Tốt nghiệp
Đề tài:
XÂY DựNG WEBSITE TIN TứC MớI
Giỏo viờn hướng dẫn : Th.S Đặng Hồng Lĩnh
Sinh viờn thực hiện : Tạ Thị Hoài Thu
Lớp : 46E2 - CNTT
Vinh, thỏng 5 - 2010
Trang 2MỤC LỤC
Trang
Lời cảm ơn 1
Lời nói đầu 2
CHƯƠNG I TỔNG QUAN ĐỀ TÀI……….….… 3
1.1 Tổng quan về đề tài 3
1.2 Ngôn ngữ xây dựng Website……… … … 4
1.2.1 Giới thiệu cấu trúc file HTML và các thẻ……….….… ….4
1.2.2 Các thẻ định dạng 5
1.2.3 Một số thẻ HTML đặc biệt……… … 6
1.2.4 Tìm hiểu về ngôn ngữ PHP và cơ sở dữ liệu MySQL………….…… 7
CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG……… ……19
2.1 Yêu cầu bài toán……… 19
2.2 Phân tích và thiết kế……… 20
2.2.1 Biểu đồ phân cấp chức năng……….…………20
2.2.2 Biểu đồ luồng dữ liệu……….……… 21
2.2.3 Mô hình hóa dữ liệu……….25
CHƯƠNG III XÂY DỰNG CHƯƠNG TRÌNH ……….28
3.1 Giao diện người dùng……… ……31
3.1.1 Giao diện trang chủ……… … …… 31
3.1.2 Giao diện trang giới thiệu……… ….……….32
3.1.3 Giao diện trang liên hệ tòa soạn……….…….33
3.1.4 Giao diện trang nội dung tin……….……… 34
3.2 Giao diện người quản trị……….………… 35
3.2.1 Giao diện trang đăng nhập……….……… 35
3.2.2 Giao diện trang chính đăng nhập……….…… 36
3.2.3 Giao diện đăng nhập tin mới……….……… ……….37
Trang 33.2.4 Giao các bản tin đã đăng………… ……….………38
KẾT LUẬN……….….… 39 TÀI LIỆU THAM KHẢO……… ………40
Trang 4Mặc dù em đã rất cố gắng, nhưng trong khoảng thời gian cho phép cũng như những hạn chế về kiến thức nên đề tài này của em không thể tránh khỏi những thiếu sót Chính vì vậy, em rất mong nhận được sự góp ý của các thầy cô giáo và bạn bè.
Trang 5Lời nói đầu
Hiện nay, sự phát triển của các lĩnh vực kinh tế, xã hội, nhu cầu ứng dụng công nghệ thông tin ngày càng cao và không ngừng biến đổi Với sự phát triển của kinh tế đời sống của nhân dân ngày càng được nâng cao, kéo theo đó là nhu cầu về giải trí, cập nhật thông tin nhanh và chính xác của mọi người và các tổ chức là hết sức cần thiết
Với xu thế phát triển vượt bậc của công nghệ thông tin trên toàn thế giới, ở Việt Nam công nghệ thông tin nói chung và mạng Internet nói riêng ngày càng được áp dụng nhiều hơn trong các lĩnh vực của đời sống, hiện diện gần gũi với con người, với mọi nhà Có thể nói, Internet là một kênh thông tin rất bổ ích cho mọi người, là nguồn tư liệu dồi dào cho mọi lĩnh vực khác nhau trong đời sống Nhiều công nghệ mới đã được ứng dụng và hỗ trợ cho Internet một trong số đó có ngôn ngữ PHP cơ sở dữ liệu MySQL, cùng
với kiến thức học được em đã sử dụng ngôn ngữ này để xây dựng Website
tin tức mới Với mong muốn đưa đến cho người sử dụng Internet những
thông tin bổ ích và những giây phút thư giãn, giúp mọi người hiểu biết thêm nhiều về các mặt của đời sống và còn là nơi giao lưu, chia sẻ thông tin của mọi người
Em xin chân thành cảm ơn thầy giáo ThS Đặng Hồng Lĩnh cùng các thầy cô giáo trong khoa Công nghệ thông tin đã giúp đỡ em trong suốt quá trình hoàn thành đồ án tốt nghiệp này
Vinh, tháng 5 năm 2010
Sinh viên: Tạ Thị Hoài Thu
Trang 6CHƯƠNG I TỔNG QUAN ĐỀ TÀI
1.1 Tổng quan về đề tài
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện
tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu
Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng, chỉ cần có một máy tính kết nối internet và một dòng dữ liệu truy tìm thì gần như lập tức cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ thông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu ta cần…
Bằng internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh hơn và chi phí thấp hơn nhiều so với cách thức truyền thống Chính điều này, đã thúc đẩy sự khai sinh và phát triển internet trên khắp thế giới, làm biến đổi đáng kể bộ mặt văn hóa, nâng cao chất lượng cuộc sống con người
Trong xu thế phát triển của thời đại thì cần phải nắm bắt mọi thông tin một cách nhanh chóng trên tất cả mọi hoạt động trong và ngoài nước Giờ đây xây dựng website tin tức đã đóng vai trò quan trọng thúc đẩy sự phát triển của đất nước Internet ra đời mang đến cho chúng ta nhiều hơn cơ hội
để tìm hiểu về những vùng miền trên thế giới Khi nhắc đến Internet thì mọi người chú ý nhiều nhất đến webside, website mang đến cho chúng ta một kho tàng tri thức khổng lồ Nó là nơi trao đổi thông tin một cách hiện đại,
Trang 7vừa đa dạng, vừa phong phú, và nhanh chóng Đối với web tin tức việc cung cấp các thông tin mới mẻ cho độc giả như giáo dục, y tế, khoa học, pháp luật
…là yếu tố mang tính quết định đưa đến cho người đọc biết thêm nhiều thông tin trên khắp mọi miền trên thế giới Ngoài ra nó con hỗ trợ cho các doanh nghiệp quảng cáo thông tin sản phẩm đến với tất cả mọi người một cách nhanh chóng
Với đề tài này, em xin được trình bày một cách thức quản lý website giúp cho những người quản trị dễ dàng trong việc quản lý, thay đổi, cập nhật thông tin trang website của mình
1.2 Ngôn ngữ xây dựng Website
1.2.1 Giới thiệu cấu trúc file HTML và các thẻ
- Khái niệm về HTML
HTML (Hyper Text Markup Language - Ngôn ngữ đánh dấu siêu văn bản) là một sự định dạng để báo cho trình duyệt Web (Web browser) biết cách để hiển thị một trang Web
Các trang Web thực ra không có gì khác ngoài văn bản cùng với các thẻ (tag) HTML được sắp xếp đúng cách hoặc các đoạn mã để trình duyệt Web biết cách để thông dịch và hiển thị chúng lên trên màn hình
- Cấu trúc của một file HTML
<html>
<head>
<title> Tên trang </title>
</head>
Trang 8+Thẻ <font>…</font>
Thẻ <font> cho phép định dạng một chuỗi với kiểu chữ nhất định, cỡ chữ
và màu chữ cũng được định nghĩa trong thẻ <font>
+ Thẻ <img>
Trang 9Cho phép bạn chèn hình ảnh vào trang Web.Thẻ này thuộc loại thể không có thẻ đóng.Thêm vào đó bạn có thể cung cấp các thuộc tính như chiều cao, rộng, border và địa chỉ hình ảnh của nó.
+Thẻ <a>
Là loại thẻ dùng để liên kết giữa các trang Web hoặc liên kết đến địa chỉ Internet, mail hay Internet(URL) và địa chỉ tập tin trong mạng cục bộ (UNC)
Trong trang Web, để kiểm soát tất cả các hành động của người dùng,
ta cần khai báo và sử dụng một số phương thức và thuộc tính của Client Script hay các phương thức do bạn định nghĩa
Trang 10Khai báo thẻ như sau:
+ Cấu trúc của thẻ <Script> với Javascript
Cấu trúc của một <script> trong một trang Web được mô tả như sau:
<scipt language=javascript>
//khai báo biến
function functionname (tham số)
{ //Khai báo biến
//Câu lệnh//Phát biểu có điều kiện}
Trang 11Cũng giống như hầu hết các ngôn ngữ lập trình khác PHP có thể nối trực tiếp với HTML Mã PHP tách biệt với HTML bằng các thực thể đầu và cuối Khi một tài liệu được đưa ra phân tích, quá trình xử lý PHP được thực hiện ở những điểm quan trọng, sau đó đưa ra kết quả.
Thương mại điện tử ngày càng phát triển trên thế giới nói chung và Việt Nam nói riêng, sự ra đời của các ngôn ngữ lập trình cho phép chúng ta thiết kế và xây dựng những ứng dụng thương mại điện tử dưới các hình thức khác nhau PHP và cơ sở dữ liệu MySQL không nằm ngoài mục đích dùng
để xây dựng ứng dụng thương mại điện tử
Các nhà lập trình chuyên nghiệp cũng như không chuyên nghiệp có rất nhiều sự lựa ngôn ngữ lập trình như: ASP, Perl, Java và một số loại khác Trong mỗi ngôn ngữ lập trình này đều có cấu hình và tính năng khác nhau thì chúng vẫn đưa ra một số kết quả giống nhau
Chúng ta chọn PHP vì đây là sự lôi cuốn mạnh mẽ nhất Bởi nó thiết
kế trong các ứng dụng Web, có nhiều tính năng đáp ứng những nhu cầu chung nhất PHP là một mã nguồn mở, bởi vì mã nguồn của PHP sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến nó, nâng cao để khắc phục các lỗi trong các chương trình này
PHP rất ổn định và tổng hợp, PHP đã vận hành khá ổn định trên các
hệ điều hành Unix, Windows đồng thời nó cũng nối với các máy chủ như IIS, Apache PHP là một ngôn ngữ dễ học Nếu chúng ta làm việc quen với ngôn ngữ C hay Pascal thì một số tính năng giống các loại đó
+ Các loại thẻ PHP
Có 4 loại khác nhau của thẻ PHP có thể sử dụng khi thiết kế trang PHP
Trang 12 Kiểu Short: Đây là thẻ mặc định mà các nhà lập trình PHP thường sử
dụng.
Ví dụ:
<? Echo “Chào mừng đến với ngôn ngữ PHP.” ;?>
Kiểu định dạng XML: Thẻ này có thể sử dụng với văn bản định dạng
XML
Ví dụ:
<? Php echo“Chào mừng đến với PHP kết hợp với XML\n”;?>
Kiểu Script: Trong trường hợp ta sử dụng PHP như một script tương
tự khai báo JavaScipt hay VBScript.
Ví dụ:
<script language= ‘php’ >
echo “PHP Script”;
</script>
Kiểu ASP: Trong trường hợp khai báo thẻ PHP như một phần trong
trang ASP Thẻ này được sử dụng khi ta cho phép chúng bằng cách cấu hình (asp_tag) trong tập tin config.
Ví dụ:
<%
echo “PHP Script”;
%>
Cách 1 chỉ có thể sử dụng nếu những Tag ngắn đợc cho phép sử dụng,
có thể sửa short_open_tag trong cấu hình php hoặc biên dịch file php với lựa chọn cho phép dùng các tag ngắn Tương tự như vậy, cách thứ 4 chỉ có tác dụng nếu Asp_tag được đặt trong file cấu hình của PHP PHP cho phép hỗ trợ các kiểu chú thích của cả C, C++ và Unix shell
Trang 13- Cơ sở dữ liệu MySQL
+ Giới thiệu
MySQL là cơ sở dữ liệu được dùng trong chương trình MySQL là cơ
sở dữ có trình giao diện trên Windows hay Linux, cho phép người sử dụng
có thể thao tác các hành động liên quan đến cơ sở dữ liệu
Cũng giống như các hệ cơ sở dữ liệu khác, khi làm việc với cơ sở dữ liệu MySQL, bạn đăng ký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phân quyền sử dụng, thiết kế đối tượng Table của cơ sở dữ liệu và xử lý dữ liệu
Để sử dụng các phát biểu hay các thao tác trên cơ sở dữ liệu, bạn có thể sử dụng trình quản lý dạng đồ hoạ hay dùng dòng lệnh còn gọi là Command line
Để connect tới một cơ sở dữ liệu trên MySQL server rất đơn giản Chỉ cần dùng hàm mysql_connect (host, user, password) để mở một kết nối tới MySQL server với kết quả là giá trị trả về hàm (Giả sử là biến $db) Sau đó dùng hàm mysql_select_db (database_name, link_id) để chọn cơ sở dữ liệu
ta muốn kết nối
Để thực hiện một câu lệnh truy vấn, dùng hàm mysql_query (query, link_ID) Giá trị trả lại của hàm là kết quả của câu truy vấn Nếu bỏ qua link_id thì kết nối cuối cùng tới Mysql server sẽ được thực hiện
Ngoài cách dùng hàm mysql_result() để lấy kết quả thực hiện, ta có thể dùng các hàm khác: mysql_fetch_row(), mysql_fetch_array(), and mysql_fetch_object()
+ Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
Loại dữ liệu numeric
Trang 14Kiểu số chấm động
float: Phụ thuộc số thập phân (Số thập phân dạng single hay double)
float(M,D): Số thập phân dạng single
double(M,D): Số thập phân dạng double
float(M[,D]): Số chấm động lưu dưới dạng char
Kiểu dữ liệu numeric bao gồm kiểu số nguyên
Loại dữ liệu Date and Time
Kiểu dữ liệu Date and Time cho phép ta nhập dữ liệu dưới dạng chuỗi ngày tháng hay dạng số
Date: Cho phép trình bày dưới dạng yyyy- mm - dd
Time: Trình bày dưới dạng hh:mm:ss
DateTime: Date và time trình bày dưới dạng: yyyy- mm - dd hh:mm:ss
TimeStamp: TimeStamp trình bày dưới dạng yyyy- mm - dd hh:mm:ss
Year[(2,4)]: Year trình bày dưới dạng 2 số hay 4 số
Loại dữ liệu String
Kiểu dữ liệu string chia làm 3 loại, loại thứ nhất như char (chiều dài
cố định), và varchar (chiều dài biến thiên), và kiểu Text
Char: Cho phép bạn nhập dữ liệu dới dạng chuỗi với chiều dài lớn nhất bằng chiều dài định nghĩa
Trang 15Varchar: Chiều dài lớn nhất bằng chiều dài được định nghĩa cho field,
bộ nhớ chỉ lưu trữ chiều dài đúng với chiều dài chuỗi bạn đã nhập
Text hay Blob: Text cho phép lưu trữ chuỗi rất lớn Blob cho phép lưu đối tượng nhị phân
Nhóm phát biểu SQL
Ngôn ngữ SQL chia làm 4 loại sau:
DDL (Data Definition Language): Ngôn ngữ định nghĩa dữ liệu, dùng để tạo cơ sở dữ liệu, định nghĩa các đối tượng cơ sở dữ liệu như Table, Query, Views hay các đối tượng khác
DML ( Data Manipulation Language): Ngôn ngữ thao tác dữ liệu, dùng để thao tác dữ liệu, chẳng hạn như các phát biểu Select, Inert, Delete, Update,…
DCL ( Data Control Language): Ngôn ngữ sử dụng truy cập đối ượng cơ sở dữ liệu, dùng để thay đổi cấu trúc, tạo người dùng, gán quyền chẳng hạn như: Alter, Grant, Revoke,…
t- TCL (Transnaction Control Language): Ngôn ngữ sử dụng để khai báo chuyển tác chẳng hạn như: Begin Tran, Rollback, Commit,…
Phát biểu SQL thao tác dữ liệu
Câu lệnh SELECT (Truy vấn mẩu tin )
Select <danh sách các trường>
[from <danh sách các bản ghi>]
[where <các điều kiện ràng buộc>]
[group by <tên cột/biểu thức trong Select>]
[having <điều kiện bắt buộc của Group by>]
[order by <danh sách trường>]
[limit fromnumber /tonumber ]
Trang 16Lệnh tạo bảng
Creat table <tên bảng> (Tên_cột kiểu_dữ_liệu[(kích_thớc)][Notnull]…
.PrimaryKey (khoá_chính).[(Unique (khoá_dự_phòng),…]
.[foreign key (khoá_ngoài) reference tên_bảng,…]
.[check điều_kiện_ràng_buộc,…])
Lệnh xoá bảng
Drop table <tên_bảng>
Lệnh cập nhật dữ liệu
Insert into tên_bảng value (Bộ_giá_trị)
Lệnh xoá bản ghi trong bảng
Delete from tên_bảng Lệnh sửa đổi nội dung bản ghi
Update table tên_bảng set tên_cột=Biểu_thức where điều_kiện
Các hàm thông dụng trong MySQL
Hàm AVG: Trả về giá trị bình quân của một cột hay trường trong câu truy vấn, ví dụ như phát biểu sau :
Trang 17Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn trên bảng
Hàm UPPER: Hàm này chuyển đổi chuỗi sang kiểu chữ hoa
Hàm LOWER: Hàm này chuyển đổi chuỗi sang kiểu chữ thường
Hàm LEN: Hàm trả về chiều dài của xâu
Thủ tục LTRIM: Thủ tục loại bỏ khoảng trắng bên trái của chuỗiThủ tục RTRIM: Thủ tục loại bỏ khoảng trắng bên trái của chuỗi
Hàm LEFT: Hàm trả về chuỗi bên trái tính từ cuối cho đến vị trí nHàm RIGHT: Hàm trả về chuỗi bên phải tính từ cuối cho đến vị trí nHàm INSTR: Hàm trả về vị trí chuỗi bắt đầu từ chuỗi con trong chuỗi đang xét
Các hàm xử lý thời gian
Hàm CurDate(): Hàm trả về ngày, tháng, năm hiện hành của hệ thống.Hàm CurTime(): Hàm trả về giờ, phút, giây hiện hành của hệ thống.Hàm Period_Diff: Hàm trả về số ngày trong khoảng thời gian giữa hai ngày
Hàm Dayofmonth : Hàm trả về ngày thứ mấy trong tháng
Trang 18Các hàm về toán học
Hàm SQRT: Hàm trả về căn bậc hai của một biểu thức
Hàm ROUND: Hàm trả về số làm tròn của một biểu thức
Phát biểu SQL dạng Select với AS
Khi cần phải thay đổi tên trường nào đó trong câu truy vấn Ta chỉ cần dùng phát biểu AS.AS cho phép ánh xạ tên cũ hay giá trị chưa có tên thành phần (header)
Phát biểu SQL dạng Select với Limit N, M
Cho phép truy vấn chỉ một số mẩu tin tính từ vị trí n đến vị trí m trong Table (Theo một tiêu chuẩn hay sắp xếp nào đó) Để làm điều này trong phát biểu SQL dạng SELECT ta dùng chỉ định tữ khoá LIMIT với số lượng mẩu tin lấy từ vị trí thứ n đến m
Phát biểu SQL dạng Select với DISTINCT
Trong trường hợp có một hay nhiều bảng kết nối với nhau, sẽ xảy ra trùng lặp nhiều mẩu tin nhưng ta chỉ cần lấy ra một mẩu tin trong tập mẩu tin trùng lặp
Nhập dữ liệu bằng phát biểu SQL dạng Insert
Khi cần thêm mẩu tin vào bảng trong cơ sở dữ liệu MySQL ta có thể sử dụng phát biểu insert ngay trên ứng dụng kết nối với MySQL
Phát biểu SQL dạng UPDATE
Phát biểu SQL dạng UPDATE dùng để cập nhật lại dữ liệu đã tồn tại trong bảng Khi UPDATE dùng cập nhật dữ liệu cho một mẩu tin chỉ định nào đó thường mệnh đề này sử dụng chung với mệnh đề WHERE
/*Nếu cập nhật giá trị cụ thể*/
update <tablename>
set <column>= <value >,[<column> = <value>]
Trang 19[where <restrictive conditions>]
/*Nếu cập nhật giá trị là kết quả trả về từ phía phát biểu select trên một hay nhiều bảng khác*/
update <tablename>
set <column> = <select from tablename where…>
[where <restrictive conditions>]
Phát biểu SQL dạng JOIN
Khái niệm về mệnh đề Join
Trong hầu hết phát biểu select, phần lớn kết quả mà ta mong muốn lấy về đều có liên quan đến một hoặc nhiều bảng khác nhau Trong trường hợp như vậy, khi truy vấn dữ liệu cần sử dụng mệnh đề Join để kết hợp dữ liệu trên hai hay nhiều bảng lại với nhau
Mệnh đề Inner Join
Phát biểu SQL dạng SELECT có sử dụng mệnh đề INNER JOIN thường dùng để kết hợp hai hay nhiều bảng dữ liệu lại với nhau Cú pháp như sau:
Trang 20Select [select list]
select <column list>
dữ liệu của bảng bên trái không tồn tại Cú pháp như sau:
select <column list>
from lefttablename
RIGHT JOIN righttablename