1. Trang chủ
  2. » Luận Văn - Báo Cáo

tìm hiểu php và ứng dụng xây dựng website tin tức luận văn tốt nghiệp đại học (trần xuân viên)

55 573 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 15,94 MB

Nội dung

Trang 1

Dé an tot nghiép Tìm hiếu PHP và xây dựng Website tin tức

TRƯỜNG ĐẠI HỌC VINH

KHOA CÔNG NGHỆ THÔNG TIN

TIM HIEU PHP VA UNG DUNG XÂY DUNG WEBSITE TIN TUC

DO AN TOT NGHIEP DAI HOC

KI SU CONG NGHE THONG TIN

Giáo viên hướng dẫn : Th.S Pham Thị Thu Hiền

Trang 2

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn tới ban chủ nhiệm khoa Công nghệ thông tin, các thầy cô giáo, gia đình và bạn bè đã động viên giúp đỡ chúng em rất nhiều trong qúa trình hoàn thành đồ án này Đặc biệt chúng em xin bày to lòng cảm ơn sâu sắc tới cô giáo hướng dẫn Th.s Phạm Thị Thu Hiền về sự chỉ dẫn tận tình và sự hướng dẫn chúng em từ những ý tưởng ban đầu cho đến lúc hoàn thành đồ án tố nghiệp quan trọng này

Cho chúng em xin bày tỏ lòng biết ơn tới gia đình cha mẹ, anh chị và những người bạn thân yêu đã luôn quan tâm, tin tưởng và động viên, giúp đỡ chúng em trong thời gian qua

Chúng em rất mong nhận được sự đánh giá, bổ sung và những lời chỉ bảo của quý thầy cô trong khoa CNTT, thầy cô trong hội đồng giúp đỡ chúng em có thể tiếp tục nghiên cứu kĩ hơn về lĩnh vực này

Chúng em xin chân thành cám ơn !

Vinh, Ngày 20 thang 5 Nam 2011 Sinh vién

Trang 3

Dé an tot nghiép Tìm hiếu PHP và xây dựng Website tin tức MỤC LỤC Lời mở đầu l Chuong I Téng quan ngén ngữ PHP và hệ quản trịcœsở 3 dữ liệu MySQL 1.1.Ngôn ngữ PHP 3 1.2.Các hoạt động nổi bật của PHP 4 1.3.Các phép toán trong PHP 7

1.4.Các cú pháp cơ bản của PHP sử dụng trong chương trình §

1.5.Hệ quản trị cơ sở dữ liệu MySQL 14

1.6.Mục đích của việc sử dụng cơ sở dữ liệu 17

1.7.Các thao tác cập nhật dữ liệu 17

1.8.Cac ham thong dung trong MySQL 18

Chương II Khảo sát phân tích và thiết kế hệ thống 20

2.1.Sơ lược hệ thống 20

2.1.1.Phần dành cho khách hang 20

2.1.2.Phần quản trị hệ thống 20

2.2.Biểu đồ phân cấp chức năng 21

2.3.Biêu đồ luồng dữ liệu 22 2.3.1.Biểu đồ mức khung cảnh 22 2.3.2.Biéu đồ mức đỉnh 23 2.3.3.Biéu đồ mức dưới đỉnh 24 2.4.Sơ đồ hệ thống File 26 2.5.Thiết kế cơ sở đữ liệu 27 2.5.1.Các thực thé 27 2.5.2.Mô hình thực thẻ liên kết 29

Chương II Cài đặt chương trình 30

Trang 4

3.1.Cài đặt chương trình Appserv 30

3.1.1.Giới thiệu chung về Appserv 30

3.1.2.Cài đặt Appserv đề tạo localhost 30

3.2.Giao diện bên ngoài 35

3.3.Đặc tả một số Module chính 40

3.3.1.Module đăng nhập của người quản lý Website 40

3.3.2.Module quản lý tin 42

3.3.3.Module quản lý nhóm tin 44

3.3.4.Module quản lý quảng cáo 45

3.3.5.Module quản lý người dùng 46

Kết luận : Kết quá đạt được và hướng phát triển đề tài 49

Trang 5

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức

LOI NOI DAU

Trên thế giới nói chung và ở Việt Nam nói riêng, ngành công nghệ thông tin đã và dang là một ngành mũi nhọn Kẻ từ khi máy tính ra đời, con người luôn luôn mong muốn chia sẻ thông tin với nhau Chỉ không lâu sau, Internet đã đáp ứng được phần nào nhu cầu của cuộc sống Với sự ra đời của World Wide Web (WWW) da khién cho qua trinh trao đối thông tin qua mạng trở

nên thuận tiện hơn rất nhiều và để triển khai World Wide Web, các trình

duyệt Web đã ra đời và không ngừng được cải tiến Sự xuất hiện của Java, sự kết hợp hài hoà giữa ngôn ngữ lập trình Java và WWW đã đây Web sang một bước ngoặc hoàn toàn mới, bộ mặt của Web hầu như đã thay đổi hoàn toàn

Web gid day tràn đầy sức sống với hình ảnh, âm thanh, hoạt hinh

Cùng với sự phát triển của Web, các ứng dụng mạng cũng phát trién khong ngừng để khoảng cách con người trên toàn thế giới trở nên gần gũi hơn Có rất nhiều kỹ thuật, ngôn ngữ cũng như môi trường phát triển ứng dụng Web, đó là ASP, PHP, Perl, JSP Tuy nhiên trong đó, JSP/Servlet (nền tảng dựa trên ngôn ngữ lập trình Java) có thể nói rất phù hợp với lập trình Web và là lựa chọn sáng giá nhất JSP hay Java Server Pages là công nghệ lập trình Web phía máy chủ của Java Ưu điểm của trang JSP là khả năng nhúng mã Java giữa các thẻ định dạng HTML

Lập trình Web là xu thế phát triển của công nghệ phần mềm đang thu hút rất nhiều nhà đầu tư cũng như người dùng Web Web thường gắn liền với Internet và với phong cách lập trình mạng thoát khỏi sự bó buộc cục bộ của những chương trình ứng dụng trước đây

Và đây cũng chính là những vấn đề khiến chúng em luôn quan tâm Chính vì vậy, chúng em đã chọn đề tài: “ Tìm hiểu PHP và ứng dụng xây dựng

Website tin tức ”,làm đồ án tốt nghiệp Đồ án gồm các phần sau:

Trang 6

CHUONG I: TONG QUAN VE NGON NGU' LAP TRÌNH PHP VÀ HỆ

QUAN TRI CO SO DU LIEU My SQL

CHUONG II: KHAO SAT VA PHAN TICH THIET KE HE THONG CHƯƠNG III: CAI BAT CHUONG TRINH

Với sự hướng dẫn tận tình của cô giáo Th.s Pham Thi Thu Hién, ching em đã hoàn thành đồ án tốt nghiệp của mình Tuy đã có gắng hết sức tìm hiểu,

phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi

những sai sót mắc phải Chúng em rất mong được sự đóng góp ý kiến cuả quý Thầy cô và bạn bè trong khoa Công Nghệ Thông Tin, để đồ án của chúng em

được hoàn thiện hơn và qua đó chúng em có nhiều kinh nghiệm thực tế để

triển khai những đề tài trong tương lai

Cuối cùng chúng em xin chân thành cảm ơn và kính chúc các Thầy giáo, Cô giáo sức khỏe và hạnh phúc

Sinh viên thực hiện

Trần Xuân Viên - Phan Ngọc Anh _ 47E_CNTT

CHƯƠNG I

Trang 7

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức

1.1 Ngôn ngữ PHP

PHP là chữ viết tat cua Person Home Page“ do Rasmus tao ra 1994 Vì tính hữu dụng của nó và khả năng phát triển, PHP được bắt đầu sử dụng trong môi trường chuyên nghiệp nó trở thành“PHP: Hypertext Preprocessor“ Thực chất là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản đó là một trang HTML co snhungs mã PHP, PHP có thể được đặt rải rác trong HTML

PHP là một ngôn ngữ lập trình được kết nối với máy chủ,là một công nghệ phía máy chủ (Server Side) và không phụ thuộc vào môi trường

Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết qảu HTML

Khác với ngôn ngữ lập trình, PHP được thết kế để chỉ thực hiện điều gì

đó sau khi một sự kiện xảy ra

Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau, mặc dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giống nhau Chúng ta có thể lựa chọn chọn cho mình một ngôn ngữ: ASP,PHP, Java và một số loại khác nửa Vậy tại sao chúng ta lại nên chọn PHP, rất đơn giản, vì có những lý gio mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này

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 máy chủ,mã nguồn mở cho mục đích tổng quát Nó rất thích hợp với Web và có thể đễ đàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, 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 phố biến nhất

thế giới

Trang 8

PHP 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ủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, đễ 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 phô biến nhất thế giới

Để chạy được file PHP thì chúng ta cần đến một trình chủ Web server hiểu và diễn dịch được PHP Trong chương trình này thì chúng tôi sử dụng PHP Home Edition 2.3.4 để mô phỏng Web server

1.2 Các hoạt động nỗi bật của PHP

Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt Sơ đồ hoạt động:

Máy khách hàng Máy chủ Web

Yêu cầu URL HTML HTM Goi ma kich ban PHP

Trang 9

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức

duyệt xem nó như là một trang HTML tiêu chuẩn Như ta đã nói PHP cũng chính là một trang HTML nhưng có nhúng mã PHP và có phần mở rộng HTML, phần mở của được đặt trong thẻ mở <?php và thẻ đóng ?> Khi trình duyệt vào một trang PHP thì server sẽ đọc một file PHP lên và lọc ra các đoạn mã PHP và thực thi các đoạn mã đó, lấy kết quả nhận được của đoạn mã PHP thay thế vào chỗ ban đầu của chúng trong file PHP, cuối cùng server trả về kết quả cuối cùng là một trang nội dung HTML về cho trình duyệt

PHP va MySQI là các công cụ lập trình phố biến và thống trị thế giới www mặc dầu đang chịu sự cạnh tranh của một số ngôn ngữ lập trình web khác nhưng PHP vẫn thống linh số một với những tính năng nổi bật và đặc biệt là khả năng thường xuyên cập nhật với đội ngũ lập trình viên trên toàn

thé giới, đặc biệt là cộng đồng mã nguồn mở

Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng như thế nào: 1 <html> 2 3 <head> 4 - 5 <title>Mã mẫu</title> 6 7 </head> 8 9, <body> 10 11 <?php 12 13 echo "Chao thé giới PHP!"; 14 15 2> 16 17 </body> 18 19 </html> 20

Thé <?php va thé > sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua do may chu biệt đê xử lý và dịch mã cho đúng Đây là một điêm khá

Trang 10

tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và đễ dàng trong việc xây dựng phân giao diện ứng dụng HTML

*) Hỗ trợ truy cập tới bat kỳ loại cơ sở dữ liệu nào: ứng dụng của bạn dự định sẽ truy cập những loại đữ liệu, dịch vụ nào? LDAP, IMAP mail server, DB2, hay XML parser hay WDDX

*) Hệ thống hàm mạnh: PHP sẵn sàng hỗ trợ thông qua các hàm được xây dựng sẵn nó và phong phú sẽ làm công việc lập trình trở nên dễ dàng và tiện

lợi, Luôn được cải tiến và cập nhật Khi PHP được phổ biến, nó đã trở thành

một ngôn ngữ lập trình mạnh Nó giúp cho việc bổ sung số lượng lớn các hàm chức năng một cách hiệu quả, hỗ trợ cho công việc của người lập trình được thuận lợi hơn, hiệu quả hơn

*) Được hướng dẫn kỹ thuật bất cứ lúc nào: Hầu hết các ngôn ngữ đều hỗ

Trang 11

Đồ án tốt nghiệp Tìm hiểu PHP và xây dựng Website tin tức x+2 - Trừ (Subtraction) x= 3 5-x * Nhân (Multiplication) x=4 20 x*5 / Chia (Division) 15/5 3 5/2 2.5

% lay số dư của phép chia 2số 5%2 1 nguyén (Modulus (division 10%8 2 remainder)) 10%2 0 ++ Tang (Increment) x= x= x++ Giam (Decrement) x=5 x=4 x Assignment Operators Phép toán (Ví dụ Cách viết tương tự = x=y x=y += xt=y x=xty = x-=y X=X-y *= x*=y x=x*y /= x/=y x=x/y = x.=y X=X.y %= x%=y x=x%y Cac phép so sanh Phép tốn Mơ tả Ví dụ

== Bằng nhau (is equal to) 5==8 returns false {= Khac nhau (is not equal) 5!=8 returns true

L6n hon (is greater than) 5>8 returns false < Nho hon (is less than) 5<8 returns true >= Lớn hơn hoặc băng (is greater 5>=8 returns false

than or equal to)

<= Nhỏ hơn hoặc bằng (is less Š<=8 returns true

Trang 12

Phép tốn Mơ tả Ví dụ && Va (and) x=6 y=3 (x < 10 && y > 1) returns true | Hoặc (or) x=6 y=3 (x==5 || y==5) returns false ! Phu dinh (not) x=6 y=3 !(x==y) returns true 1.4 Các cú pháp cơ bản của PHP sử dụng trong chương trình 1.4.1 Sử dụng thẻ bọc mã <?php ?> *) PHP hién thị trong trang Web vơi thẻ mở và thẻ đóng như sau: <?php

// First line of code goes here; // Second line of code goes here; // Third line of code goes here;

2>

*) Những dòng PHP kết thúc bằng dấu “;” 1.4.2 Chèn chú thích vào mã trang PHP

Cũng như C, JSP cho phép ta dùng cú pháp // để chú thích một dòng mã lệnh trong khi cú pháp /* */ áp dụng cho nhiều dòng Các dòng chú thích sẽ được bỏ qua khi trình chủ diễn dịch trang PHP

1.4.3 Str dung “echo” dé trinh bài text

Ham “echo” 1a ham xuat cơ bản trên trình duyệt Web Vd:

Trang 13

Đồ án tốt nghiệp Tìm hiểu PHP và xây dựng Website tin titc

echo “I’m a lumberjack.”; echo “And I’m okay.”;

2>

Kết quả hình 1.1

3Ä nttp://locathost/BT/1.php - Microsoft Internet Explorer File Edt View Favorites Tools Help

Om - OAD Pave ý @ @

‘Address |) http:/flocalhost/BT/1.php ¥| Ec Links *

T'm a lumberjack And I'm okay

Lểloo “Dice trance

Hinh 1.1 Chúng ta có thể lồng HTML với PHP

Vd:

<?php

echo “<h1>I’m a lumberjack.</h1>”; echo “<h2>And I’m okay.</h2>”;

2>

Kết quả như hình 1.2

3Ä trtp://localhost/BT/1.php -

Trang 14

<head> <title>My First PHP Program</title> </head> <body> <?php

echo “<h1>I’m a lumberjack.</h1>”; echo “<h2>And I’m okay.</h2>”;

2>

</body>

</html>

Việc kết hợp giữa HTML và PHP nhằm đạt tới hai muc tiêu :

¢ Cai tién được hình thức trình bày của web site

e_ Có thể giữ xen kẻ những dòng mã HTML với các đoạn mã của PHP Bạn có thể so sánh hai đoạn mã sau: VdI: <?php echo “<table width=’100%’ border=’2’ bgcolor=’#FFFFFF’>”; echo “<tr>”; echo “<td width="50%’>”;

Trang 15

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức I> Két qua hién thi ra trinh duyét hinh 1.3 Vd2: First Name: Hinh 1.3 <table width="100%" border="2" bgcolor="#FFFFFF"> <tr> <td width="50%"> <font face="Verdana, Arial" size="2"> First Name: </font> </td> <td width="50%"> <font face="Verdana, Arial" size="2"> <? echo $_ POST["fname"]; > </font> </td> </tr> </table>

Truyền biến giữa các trang

Có bốn cách cơ bản đề truyền biến giữa các trang: truyền biến trong URL, qua session, cookie hoặc với một HTML form

Trang 16

Trước khi bàn luận về 4 cách truyền biến giữa các trang ta cần hiểu một vài khái niệm gọi là biến toàn cục Đây là cấu hình trong file php.ini Khi nó được đặt là “off”, giá trị ban đầu của biến có từ sự chèn vào giả tạo của một đoạn mã bên ngoài Trong các phiên bản trước PHP mặc định biến này trong php.ini 1a “on” Ké tir phién bản 4.2 thì nó mặc định 1a “off”

Đây là nguyên nhân khiến các lập trình viên phải mất ngủ bởi vì bạn phải đề cập đến một biến khác của bạn nếu biến toàn cục là “off? hoặc ngược lại tìm tất cả các biến có giá trị tiến đến rỗng

Mặc dù có nhiều Web chủ đã điều chỉnh nó thành “on” nhưng vì lý do

bảo mật họ đã không làm thế Trong tài liệu này biến toàn cục được điều chỉnh là “off”

Thay vì gọi giá trị của biến bởi cú pháp chuẩn $tên biến, khi biến toàn

cục là “off? và bạn cần truyền biến qua các trang, bạn cần phải đề cập đến chúng trong một cách khác Nhưng chỉ trong trang tiếp nhận Bạn sẽ thấy điều này trong phần tiếp theo Nhưng trong những cách khác có liên quan đến các biến phụ thuộc vào việc họ đã gửi chúng như thế nào Cú pháp và cách sử dụng: $ GET['tên biến']: Khi phương thức chuyển biến là “GET” phương thức trong HTML forms $ POST[‘tén bién’]: Khi phương thức chuyển biến là “POST” phương thức trong HTML forms $_ SESSION[ “tên biến']: Khi biến đã được ấn định giá trị từ một session đặc biệt

$_COOKIE[“tên biến']: Khi biến đã được ấn định giá trị từ một cookie

$ REQUEST[“tên biến']:Khi nó không quan trọng ($ REQUEST bao gồm các biến chuyền từ bất cứ cách nào ở trên)

$_SERVER[“tên biến']: Khi biến đã được ấn định giá trị từ một server

Trang 17

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức

$ ENV[‘tén bién’]: Khi biến đã được ấn định giá trị từ một môi trường hệ điều hành

Nếu bạn không gọi ra các biến sử dụng cú pháp này thì giá trị của nó sẽ là rỗng trong chương trình của bạn, đây có thể là nguyên nhân làm cho chương trình dịch của bạn bị thất bại

Chu trình sống của PHP

Trang PHP có chu trình sống xác định tính từ khi hệ thống đọc biên dịch trang PHP, gọi thực thi và loại trang khỏi bộ nhớ Chu trình sống của trang PHP trải qua các giai đoạn sau:

Biên dịch trang PHP: server dọch mã nguồn trang PHP khi có yêu cầu từ browser

Nap trang: server gửi trang về cho browser hiển thị Khởi tạo: các link từ trang chính

Thực thi: gửi trang liên kết về cho browser Dọn đẹp: ngắt các kết nối như: CSDL

1.5 Hệ quản trị cơ sớ dữ liệu MySQL

MySQL 1a hé quan tri cơ sở dữ liệu mã nguồn mở phổ biến nhất thé giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dung Vi MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyền, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản

Trang 18

cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Window

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ

liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)

MySQL được sử dụng cho việc bổ trợ PHP và Perl và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viét bang PHP hay Perl,

MySQL la cơ sở dữ liệu có trình diện trên Windows hay linux, cho phép người sử dụng có thê thao tác các hoạt động liên quan đến nó Việc tìm hiểu từng công nghệ trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai công nghệ PHP và MySQL là một công việc cần thiết và rất quan

trọng

MySql hơn MSSQL ở tính năng cung cấp nhiều loai storage engine Tuy nhiên tính về mặt integration chat ché cho trọn bộ hệ thống và công cụ phát triển software thì MSSQL integrate tốt hơn MySql, đặc biệt ở mang NET MSSQL còn hỗ trợ XML trực tiếp trong DB, trong khi đó thì MySQL chưa làm được chuyện này Các chức năng cần thiết như View, StoreProcedure, Trigger thì cả hai tương đương nhau

Nhanh và mạnh: MySQL không có đầy đủ những cơ sở vật chất cho một hệ quản trị cơ sở dữ liệu truyền thống, nhưng đối với nhiều xử lý của phần đông nhiều người thì nó cung cấp nhiều công cụ Nếu công việc là lưu trữ dữ liệu trên Web hoặc làm một trang Thương mại Điện tử cỡ vừa và nhỏ, thì MySQL có đủ những công cụ cần thiết hỗ trợ Đối với những CSDL cỡ trung bình thì MySQL hỗ trợ tốt về tốc độ Các nhà phát trién MySQL rat tự hào về tốc độ xử lý của MySQL Với các ứng dụng vừa và nhỏ thì MySQL là Hệ Quản trị cơ sở đữ liệu đạt được tốc độ nhanh về xử lý và tổ chức lưu trữ, cập nhật dữ liệu

Cải tiến liên tục: MySQL được cải tiến và phát triển liên tục với một tần suất cao Các nhà phát triển cập nhật nó thường xuyên và bổ sung các tính năng nó Hiện tại, MySQL đã được bổ sung thêm chức năng hỗ trợ

transaction Nhu vay, MySQL da thuc thu trở thành một Hệ Quản trị cơ sở dữ liệu chuyên nghiệp

Tính hiệu suất: Tính về mặt hiệu suất, có rất nhiều thử nghiệm và tường

Trang 19

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức MySQL không đòi hỏi nhiều như MSSQL MySQL có thể chạy trên các

UNIX highend system và perform tôt hơn MSSQL trên Windows highend server trong nhiêu trường hợp

Tính bảo mật: MSSQL qua mặt MySQL về tính bảo mật ở column level MySQL chỉ có thể set access đến row level là hết Hệ thống xác thực người dùng của MSSQL cũng qua mặt MySQL Tuy vậy, trên bình diện "để hở cổng" thì MSSQL dé bi exploit hon MySQL boi MSSQL tich hgp qua chat vào hệ điều hành Lỗi của hệ điều hành hoặc một bộ phận nào đó dẫn đến việc nhân nhượng MSSQL nhanh chóng hơn MySQL

Khả năng nhân bản: Cả hai đều có khả năng replicate hoặc cung cấp phương tiện để làm việc này Tuy nhiên, MySQL nhanh hơn và ít sự cô hơn MSSQL vì tất cả các SQL statements dùng dé thay đối, cập nhật đữ liệu được lưu giữ trong binary log MSSQL cung cập nhiều phương pháp replicate cao cấp hơn, chỉ tiết hơn bởi thế nó phức tạp hơn và chậm hơn

Nếu MySQL chạy thuần túy với MyISAM storage engine thi kha nang phục hồi (sau khi bị crash) không cách gì so sánh với MSSQL Tuy nhiên nếu MySQL chay véi Innodb engine thi khả năng phục hồi không thua kém gì MSSQL Ngoài ra, khả năng phục hồi còn được xét ở biên độ liên quan đến khả năng nhân bản (replication) ở trên Bởi vì MSSQL cung cấp nhiều phương thức nhân bản nên việc phục hồi dữ liệu trên MSSQL đễ dàng hơn

Một số đặc điểm của InnoDB và MyISAM trong cơ sở đữ liệu MySQL: - InnoDB hỗ trợ relationship (data integrity and foreign key constraints) còn MyISAM thì ko: Đa phần các open source đều không coi trọng việc này nhưng nếu ứng dụng của bạn bắt buộc phải dùng foreign key constraints thì InnoDB là lựa chọn của bạn

- InnoDB hỗ trợ transactions còn MyISAM thì không: Nếu hệ thống của bạn dùng trong các ứng dụng ngân hàng hoặc phải thực hiện việc giao dịch thì chăc chăn là MyISAM sẽ bị loại

Phí tốn : MySQL bản community không hề tốn tiền để mua nhưng bạn phải tự xắn tay áo lên _Tuy nhiên cài đặt, sử dụng và tối ưu MySQL không khó vì tài liệu của nó rất đầy đủ, thông tin về MySQL tràn ngập trên web So với MSSQL, bạn phải trả gin một ngàn rưỡi đô cho I license MSSQL standard và khi cần support, bạn phải trả thêm tiền support (tùy case) MS vẫn cung cấp bản MSSQL không thu phí dành cho mục đích đevelopment Tài liệu về MSSQL cũng rất nhiều trên mạng Bản MySQL enterprise thì phải trả tiền (khoảng 400 đô) nhưng bạn được support đầy đủ

Trang 20

+ MySQL 1a phan mềm mã nguồn mở và nó được sự ủng hộ của cộng đồng hacker và phong trào mã nguôn mở

+ Các công ty lớn có thê truy cập mã nguồn MySQL để tạo ra một bản khác dùng nội bộ công ty với mục đích phi thương mại mà không sợ vi phạm bản quyên

+ Tốc độ MySQL khá nhanh, bảng của MySQL lên đến 8 gb đủ dùng cho các công ty không quá lớn Tôi thì không nhớ nhưng MySQI hình như có thể xử lý được đến 12.000 connection đồng thời Quá đủ dùng cho 80 % các công ty

trên thế giới

+ Các tính năng mạnh của MySQL đang được bổ sung dần qua từng phiên bản Phiên ban 4.I hiện tại không ít hơn tính năng là mây so với SQL Server

+ Chưa thấy ai chê về khả năng bảo mật của MySQL cả Hồi SQL Server bị

virus đập cho te tua thì MySQL hoàn toàn miền dịch

+ MySQL hoàn toàn miễn phí

+ LAMP = Linux + Apache + MyS§QL + PHP đó là biểu tượng của công đồng

mã nguôn mở

+ Số nhà phát triển dùng MySQL là rất lớn trên thế giới cho nên số các ứng dụng chạy trên MySQL là nhiều và cũng miễn phí

1.6 Mục đích của việc sử dụng cơ sở dữ liệu

Mục đích của việc sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trử, truy cập tô chức và xử lý(manipulation)

*) Lưu trữ: lưu trữ trên đĩa và có thể chuyền đổi đữ liệu từ cơ sở đữ liệu này sang cơ sở đữ liệu khác, nếu bạn sử dụng cho quy mô nhỏ, bạn có thể chọn cơ sở dữ liệu nhỏ nhu: Microsoft Exel, : Microsoft Access, MySQL, : Microsoft Visual Foxpro,

Trang 21

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức

*) Truy cập: truy cập đữ liệu phụ thuộc vào mục đích và yêu cầu của người dung, ở mức độ mang tính cục bộ, truy cập cơ sở dữ liệu ngay trong cơ sở dữ liệu với nhau, nhằm trao đồi hay xứ lý dữ liệu ngay bên trong chính nó, nhưng do mục đích và yêu cầu người dung vượt ra ngoài cơ sở dữ liệu, nên ban cần có các phương thức truy cập dữ liệu giữa các cơ sở dữ liệu với nhau như: Microsoft Access, SQL Server, hay SQL và cơ sở dữ liệu Oảcle

*) Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mô hình cơ sở đữ liệu, phân

tích và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từng ứng dụng Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải theo một số tiêu chuẩn của hệ thống cơ sở đữ liệu nhằm tăng tính tối ưu khi truy cập và xử lý

*) Xử lý: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các mục đích khác nhau, cần phải sử dụng các phát biểu truy vẫn cùng các phép toán, phát biểu của cơ sở đữ liệu dé xuất ra kết quả như yêu cầu Dé thao tác hay xử lý dữ liệu bên trong chính cơ sở dữ liệu mà ta sử dụng các ngôn ngữ lập trình như: PHP, C++,Java, Visual Basic

1.7 Các thao tác cập nhật dữ liệu

*) SELECT ( hay truy vvaans mẫu tin): Select dung để truy vấn từ một hay nhiều bảng khác nhau, kết quả trả về là một tập mẫu tin thỏa mãn các điều kiện cho trước nếu có, cú pháp của phát biểu SQL đạng SELECT như sau: SELECT <danh sách các cột>

[FROM<danh sách bảng>]

[WHERE<cac điều kiện ràng buộc>]

[GROUP BY<tén cét/biéu thức trong SELECT>] [HAVING<diéu kiện bắt buộc của GROUP BY>]

[ORDER BY<danh sách các cột>] [LIMIT Fromnumber |ToNumber]

*) INSERT(Thém mau tin):

Cu phap: INSERT INTO Tên bảng VALUES(BỘ giá trị)

*®) UPDATE(Cập nhật dữ liệu):

Trang 22

Cú pháp: UPDATE TABLE Tên bảng

SET Tên cột=biêểu thức [WHERE Điều_ kiện] *) DELETE( xóa mẫu tin):

Cú pháp: DELETE FROM Tên bảng

[WHERE điều kiện]

1.8 Các hàm thông dụng trong MySQL 1.8.1 Cacs hàm trong phat biéu GROUP BY

*) Ham AVG: Ham tra vé giá trị bình quân của cột hay trường trong câu truy vân *) Hàm MIN: hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy vân *) Hàm MAX: hàm trả về giá trị lớn nhất của cột hay trường trong câu truy vân

*) Ham COUNT: ham tra về số lượng tin trong câu truy van

*) Hàm SUM: hàm trả về tổng các giá trị của cột hay trường trong câu tru ) g 8 y 8 8 y vân

1.8.2 Các hàm xử lý chuỗi

*) Hàm ASCII: Hàm trả về giá trị mã ASCII của ký tự bên trái của chuỗi *) Ham Char: Ham nay chuyén déi kiểu mã ASCII từ số nguyên sang dạng chuỗi

*) Ham UPPER: hàm này chuyên đồi kiểu chữ sang kiểu chữ hoa *) Hàm LOWER: hàm này chuyên đồi kiểu chữ sang kiểu chữ thường *) Hàm LEN: hàm này trả về chiều đài của chuỗi

Trang 23

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức

*) Hàm Left: hàm trả về chuỗi bên trái tính từ đầu cho đến vị trí n *) Hàm Right: hàm trả về chuỗi bên phải tính từ đầu cho đến vị trí n *) Hàm Instrt: hàm trả về chuỗi vị trí bắt đầu của chuỗi con trong chuỗi xét 1.8.3 Các hàm xử lý về thời gian

*) ham Curdate(): ham trả về ngày, tháng và năm hiện hành của hệ thống

*) ham CurTime(): ham tra về giờ, phút và giây hiện hành của hệ thống

*) ham Period_Diff: ham tra 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

1.8.4 các hàm về toán học

*) ham sqrt: ham trả về là căn bậc hai của một biểu thức

Trang 24

- _ Liệt kê, phân loại tin tức (thông tin) theo nhóm tin - _ Tìm kiếm tin tức: tìm kiếm nhanh hoặc chỉ tiết *) Liên hệ, góp ý với ban quản trị Website

2.1.2 Phần quản trị hệ thống:

*) Quản lý tin: thêm tin mới; sửa và xóa các tin *) Quản lý nhóm tin: thêm, sửa và xóa nhóm tin tức *) Quản lý quảng cáo: thêm, sửa và xóa nhà quảng cáo

*) Quan lý người dùng: thêm, sửa và xóa người dùng.Người dùng được phân quyền

Trang 26

Thông tin liên hệ, Thông tin người dùng

Phản hồi Thông tin nhóm tin

Thông tin của tin ĐỘC GIÁ Phản hồi „ NHÀ QUẢN TRI

Thông tin quảng cáo

Danh mục tin Thông tin liên hệ,

2.3.2 Biểu đồ mức đính

Trang 27

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức DOC GIA NHA QUAN TRI

Danh Thông tin nhóm

Thông tin liên hệ, mục ae tin Thông tin của tin Thông tin liên hệ, góp Phản hồi y Phản Thông tin tìm kiếm Thông tin quảng hồi cáo

Trang 30

2.4 Sơ đồ hệ thống file: >) indudes # * javascript Bp styles | footer php _| header, php | index.php _| left.php || nhomtin php _| Fight.php _j testphp | thielap php | timkiem.php _| tinchitiet.php *) includes : chira cac class dùng chung và các hàm thiết lập, kết nối và xữ lí dữ liệu *) admin : phần quản trị hệ thống *) images: ảnh cho website

*) styles : các tệp định nghĩa giao dién website

*) javascript : cac ham javascript ding 6 client: b6 g6 viettyping

Trang 31

Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức 2.5 Thiết kế cơ sơ dữ liệu:

2.5.1 Các thực thể (bảng)

Field = Tên trường(hay thuộc tính của thực thể).Đối với trường là khóa chính (Primary key) thì được gạch chân ở dưới

Type = Kiểu đữ liệu của trường( Kích thước đữ liệu của trường) Collation = encode dữ liệu của cột

Attributes = co dau, khong dấu, hoặc vừa không dấu vừa có dấu Null = Cho phép người dùng không nhập trường này hay không?

No = bắt buộc phải nhập

NULL = có thê nhập có thể không

Default = Giá trị mặc định cho trường nếu không nhập Extra = trường tự tăng hay không

- Thực thể “ Nhóm Tin”: lưu trữ thông tin các tin

Field Type Collation Attributes Null Default Extra ©) nhomtin 1 double No Zj tennhom — varchar(50) utf8_general_ci No | thutu smallint(6) No - Thực thể “ Tin tức”: lưu trữ các tin Field Type Collation Attributes Null [¡ tintuc ID double No {| nhomtin_ID double No

{| tieude varchar(100) utf8_general_ci No

[ tinvan text utf8_general_ci No

Trang 32

1,

- Thực thể “Quảng cáo”: lưu trữ thông tin các quảng cáo

Field Type Collation Attributes Null Default Extra

¡j qguangcao ID int(11) No auto_increment (| tenquangcao varchar(100) utf&_general_ci No

/j anh varchar(100) utf8_unicode_ci No

[| lienket varchar(200) utf8_general_ci No

7) thutu int(11) No 0

- Thực thể “Người dùng”: lưu trữ thông tin người dùng

Field Type Collation Attributes Null Default © Extra

‘| admin 1) double No auto_incremen

| phanguyen varchar(10) latint_swedish_ci No

| taikioan — varchar(60) tatint_swedish_ci No

Trang 34

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH

3.1 Cài đặt Appserv

3.1.1 Giới thiệu chung về Appserv:

Để xây dựng website trên localhost, cần phải cú một server ảo trờn mỏy tớnh, Appsever là một software và cũng là một cụng cụ giả lập sever, hosting ngay trờn PC, ngoài Appsever hiện nay cũng nhiều trỡnh giả lập khỏc như EasyPHP, Xampp, Wamp, VertrigoServ

Appsever tớch hợp sẵn cóc tính năng của Apache, MySQL, PHP va phpMyadmin Ưu điểm của Appsever là chương trỡnh này hoàn toàn miễn phớ, dễ sử dụng và rất nhẹ, phự hợp với các máy có cấu hình trung bình, tương thích cao và đầy đủ chức năng đề chạy PHP

Tai chuong trinh nay tai trang chu: www.appservnetwork.com 3.1.2 Cai dat Appserv dé tao Localhost:

3.1.2.1 Các bước cài đặt: Bước I: Chạy tập tin chương tính

Trang 35

Đồ án tốt nghiệp Tìm hiểu PHP và xây dựng Website tin tức Bước 3: Xuất hiện bản License, chọn I argee Nhắn NEXT (01200295 V70 Fy aD sages e250 ye rsa "omic ————

Bước 5: Chọn các Components, Ở Appsever đó tụ hợp cài đặt Apache,

MySQL, PhpMyadmin Nhan NEXT

Trang 36

Bước 6: Điền thông tin sever AppServ 2.5.9 Setup SeverName : localhost Email: Viénanh@gmail.com Apache HTTP Port: 80 Nhan NEXT

Bước 7: Tên và mật khẩu của MySQL

Trang 37

Đồ án tốt nghiệp Tìm hiểu PHP và xây dựng Website tin tức

Bước §: Chương trrình tiến hành cài đặt

AppServ 2.5.9 Setup

Bước 9: Hoàn tất cài dat

Chon Start Apache va Star MySQL để chương tính khởi động Nhấn FINISH

Với cài đặt mặc định:

C:\AppServ\www là địa chỉ webroot, nơi copy các file php vào đây Mở tính duyệt web, gơ địa chỉ: http://localhost/

Tính duyệt sẽ hiện ra như sau: ‘The AppServ Open Project - 26.9 for Windows Pe Ỹm—m nT + Easy way to build Webserver Database Server mith AppServ

Để đăng nhập cơ sở dữ liệu, vào trỡnh duyệt "localhost/phpmyadmin", Hộp thoại xuất hiện yờu cầu nhập User Name và Password ( User Name và Password nhập khi cài đặt Appsever, mặc định User Name là root)

Trang 38

3.1.2.2 kết qua localhost Ø8Server version: 5.0.51b-communfty-nt-log » Protocol version: 10 8ØServer- localhost via TCPAP > User: root@locaihost

[faySQL charset UTF-8 Unicode (utf8)

(f4ySQL connection collation

utf8_unicode_ci xj @

‘WCreate new database @

diendart

Cotiation i[esss]

Trang 39

Đồ án tốt nghiệp Tìm hiểu PHP và xây dựng Website tin tức

3.2 Giao diện bên ngoài:

- Giao diện thân thiện, gẵn gũi , thuận tiện và dễ dàng truy cập đi tới đi lui nhờ chức năng điều hướng

- Khách hàng có thé xem tin theo nhóm tin Các tin được phân trang, tạo

ra khung nhìn phù hợp, dé nhìn đối với độc giả i Fin te Cng nghé thing tn: Trang chs - Windows Internet Explorer provided by Yahoo! aig GỘ- s- AGES im fle Edt Von fgols Jb Họ - _ x ONO — [mji:6wsasÐ:9-8:8-R: +9 Se Fovrtes là 3ú; + B)Fieetinal 2) — he ƠI @Y Bạt 8y tease Qe * TŸ ttranetsethgc se non tưnedcff by đa, Inhryet setting velesssenye than teret si, (hủy le x ——— IETS) a TRANG Cai TEM KIEM LIEN HE | QUAN TRI 3 Mang Lan an 3 Théthao 3 Thủ tuật -3 Phin cg 3 Phản mềm -3 Công nghệ mới

olan #8: lệ ủng hộ tổng thống Mỹ Barack Obama đã đạt mức cao (

ii nhát trong vòng hai năm qua: 60% Hơn một nửa người lÊ thi gói

Tiiệ ủng hộ Tông thong Obama cao nhat hai nam

dân Mỹ nói ông Obama xứng đáng ứng cử lần nữa

(Hinh 1: Danh mục tin theo nhóm tin)

Trang 40

Đồ án tốt nghiệp Tìm hiểu PHP và xây dựng Website tin tức

hệ thôn inTiang chỉ - Mindam lnieret rgrer proiled by ahm! fe Git Yew Fates Tok tp _—_== m nga 6n x@JQ mm maxas Q- 9: 8: 8: 8- te hat |g [Sigeeedatesy B)Feetotnal @) (Grampian dt | lì 8+ Bạc 8c toe Q ” “prestige ted yea cet es wr tee ig Ceri

TRUONG DAI HQC VINH “KHOA CNTT Website Tin tire

=

TRANG CHỦ THM KIEM | LIEN HE | QUAN TRE

‘3 chiont jing "Tu Lu Nim Gc” vi chign tan it Nam

on

Tiling Tong thing Obama cao mht hai nim

: = P: lệ ng hộ tổng thống My Barack Obama da dat mic cao

Ngày đăng: 17/10/2014, 22:38

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w