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

Báo cáo môn mã nguồn mở PHP MYSQL + Source code

28 795 0

Đ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 28
Dung lượng 359,23 KB
File đính kèm Sourcecode.rar (9 MB)

Nội dung

Báo cáo môn mã nguồn mở và Source code . ỨNG DỤNG APACHE, PHP VÀ MYSQL TRONG THIẾT KẾ WEB TRA CỨU ĐIỂM THI ĐẠI HỌC. Apache, PHP, MySQL là các phần của chương trình phần mềm mã nguồn mở. Phần mềm này là sự hợp tác của những lập trình viên có đầu óc. Bằng việc thay đổi trên những mã nguồn có sẵn, các lập trình viên trên thế giới tiếp tục hoàn thiện và phát triền nó ngày càng trở nên mạnh hơn và hiệu quả hơn. Sự đóng góp của những người này được đưa ra công khai cho người khác sử dụng mã nguồn, tạo ra các phần mềm nổi tiếng trên thế giới.

Trang 1

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN MÔN: CÁC HỆ THỐNG MÃ NGUỒN MỞ VÀ DI ĐỘNG

Trang 2

6.1 Khái niệm cơ sở dữ liệu, bảng, cột

6.2 Một số thuật ngữ trong ngôn ngữ MySQL

6.3 Kiểu dữ liệu trong MySQL

Trang 3

2 Hằng trong PHP

3 Chuỗi trong PHP

III KIỂU DỮ LIỆU TRONG PHP

IV TOÁN TỬ VÀ CÁC BIỂU THỨC TRONG PHP

2 Các biểu thức cơ bản trong PHP

2.1 Biểu thức điều kiện

2.2 Vòng lặp

2.3 Biểu thức switch case

V XỬ LÝ DỮ LIỆU TRÊN FORM TRONG PHP

V KẾT HỢP PHP VÀ MYSQL

1 Kết nối cơ sở dữ liệu

2 Lựa chọn cơ sở dữ liệu

3 Thực thi câu lệnh truy vấn

4 Đếm số dòng dữ liệu trong bảng

5 Lấy dữ liệu từ bảng đưa vào mảng

6 Đóng kết nối cơ sở dữ liệu

Chương 3: ỨNG DỤNG APACHE, PHP, MYSQL TRONG THIẾT KẾ WEB TRA CỨU ĐIỂM THI ĐẠI HỌC

I GIAO DIỆN WEBFORM

Trang 4

II MỘT SỐ ĐOẠN CODE CHÍNH

1 Code webform truyền dữ liệu sang file ketqua.php để xử lý

2 Khai báo thông tin cơ sở dữ liệu

3 Kết nối cơ sở dữ liệu

4 Xuất kết quả ra dưới dạng bảng

LỜI MỞ ĐẦU

Mã nguồn mở ra đời là một bước ngoặt lớn trong sự phát triển của ứng dụngcông nghệ thông tin Ngày nay, các ứng dụng mã nguồn mở đã và đang trở thành mộtphong trào phát triển cực kỳ mạnh mẽ, có ứng dụng thực tế trong nhiều lĩnh vực khácnhau như kinh tế, an ninh, quốc phòng, học tập của sinh viên… Có thể nói trong tươnglai mã nguồn mở sẽ phát triển hơn nữa và dần thay thế mã nguồn đóng

Một số lợi ích khi sử dụng phần mềm mã nguồn mở:

- Độc lập: Phần mềm mã nguồn mở không bị lệ thuộc vào bất kỳ nhà cung cấpnào

- Tính thích ứng và sáng tạo: Cho phép lập trình viên xác định và sửa lỗi cũngnhư thích ứng phần mềm với các yêu cầu mới phát sinh, giúp nhà lập trình sang tạo raphần mềm của riêng mình

- Làm chủ công nghệ, đảm bảo tính an toàn và riêng tư: Phần mềm mã nguồn

mở thường không là mục tiêu tấn công của virus Không có gián điệp điện tử Do nắm được mà nguồn nên những người sử dụng hay những nhà phát triển làm chủ được phần mềm, có khả năng thay đổi, bổ sung và phát triển

- Chất lượng tin cậy: Các phần mềm mã nguồn mở khi đã hoàn thành sẽ đượcthử nghiệm, đánh giá, phát hiện lỗi và bổ sung bởi nhiều nhà phát triển khác nhau

- Tuân thủ các chuẩn và không bị hạn chế về quyền sử dụng

- Tính tự do: Người sử dụng có thể bỏ qua các phiên bản phát triển chưa ổnđịnh để cài đặt những phiên bản hoàn chỉnh và ổn định hơn Phần mềm mã nguồn mởcũng cho phép mỗi người sử dụng tạo ra và duy trì những phiên bản đặc thù

Trang 5

- Tính lâu dài: Kéo dài thời gian sử dụng/tái sử dụng các phần cứng, thiết bịtrong khi vẫn đảm bảo hiệu năng toàn hệ thống.

- Ngoài ra phần mềm mã nguồn mở là những phần mềm miễn phí kể cả cácphiên bản nâng cấp trong toàn bộ vòng đời sử dụng sản phẩm Do đó giảm chi phíđáng kể cho việc phát triển phần mềm để đáp ứng theo yêu cầu nghiệp vụ…

Apache, PHP, MySQL là các phần của chương trình phần mềm mã nguồn mở.Phần mềm này là sự hợp tác của những lập trình viên có đầu óc Bằng việc thay đổitrên những mã nguồn có sẵn, các lập trình viên trên thế giới tiếp tục hoàn thiện và pháttriền nó ngày càng trở nên mạnh hơn và hiệu quả hơn Sự đóng góp của những ngườinày được đưa ra công khai cho người khác sử dụng mã nguồn, tạo ra các phần mềmnổi tiếng trên thế giới

Trang 6

CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ

APACHE, PHP VÀ MYSQL II/ APACHE HTTP SERVER

1_Lịch sử phát triển Apache HTTP Server

Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máy chủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới (tiếng Anh: World Wide Web).

Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn

mở duy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape Communications Corporation mà ngày nay được biết đến qua tên thương mại Sun Java System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so với các chương trình máy chủ khác về mặt hiệu suất và tính năng phong phú Từ tháng 4 năm

1996, Apache trở thành một chương trình máy chủ HTTP thông dụng nhất Hơn nữa, Apache thường được dùng để so sánh với các phần mềm khác có chức năng tương tự Tính đến tháng 1 năm 2007 thì Apache chiếm đến 60% thị trường các chương trình phân phối trang webServer Apache ban đầu đã là một sự thành cônglớn, nhưng họ cho rằng mã ban đầu cần phải được kiểm tra kỹ lưỡng và thiết kế lại.Trong suốt tháng 5 năm và tháng 6 năm 1995, Robert Thau đã thiết kế một kiến trúcserver mới( mã được đặt tên là Shambhala) nó bao gồm một cấu trúc module và APIcho việc mở rộng được tốt hơn

Sau khi phát hành rộng rãi bản thử nghiệm beta, rất nhiều lỗ hổng trong các nềnkhác nhau đã được tìm thấy, một tập tài liệu mới ( của David Robinson), và quá trìnhthêm rất nhiều các chức năng trong dạng của các module chuẩn của họ, Apache 1.0 đãđược phát hành vào ngày1 tháng 12 năm 1995

Theo đánh giá của Netcraft (http://www.netcraft.com/survey/) chỉ ra rằng ngàynay Apache được sử dụng một cách rộng rãi hơn so với tất cả các web server đã đượctổng hợp

Trang 7

2_Cấu hình Apache

• Toàn bộ cấu hình của Apache đều được lưu dưới dạng text

• File cấu hình chính là httpd.conf nằm trong thư mục {apache_dir}\conf Trong filenày có thể chứa các khai báo include đến những file cấu hình khác

• Mỗi dòng trong file cấu hình đều mang 1 ý nghĩa

– Là khoảng trắng

– Là chú thích (bắt đầu bằng ký tự #)

– Là khai báo (gồm từ khóa và giá trị) Từ khóa và giá trị

• Toàn bộ tài liệu về Apache (bao gồm cả các khai báo cấu hình) đều được cài đặt (mặcđịnh) cùng với Apache Có thể truy cập vào tài liệu này thông qua URL (có dấu / cuốicùng) http://<tên máy/ IP>/manual/

• Thông thường URL trên sẽ bị vô hiệu hóa (mặc định) cho đến khi bỏ chú thích dòng

“Include conf/extra/httpd-manual.conf” trong file cấu hình chính (httpd.conf) và restartlại Apache

• Một số khai báo thường gặp khi cấu hình Apache:

– Listen: Khai báo web server sẽ được dùng tại IP nào và cổng nào Có thể khaibáo nhiều lần

– LoadModule: Khai báo các module được nạp vào khi Apache khởi động Nêndùng để bỏ bớt các module không cần thiết hoặc nạp module do người dùng tựviết

– ServerName: Tên của server Nếu Apache không tìm được tên của máy tínhqua DNS thì khai báo này bắt buộc phải có

– DirectoryIndex: Khai báo các file mặc định

– AddDefaultCharset: Khai báo bảng mã mặc định của luồng siêu văn bản trả

về cho client

– DocumentRoot: Thư mục gốc của web server Cần lưu ý đến quyền của hệthống gán lên thư mục này đối với account dùng để chạy Apache

Trang 8

– Directory: Là khai báo khối (bên trong chứa các khai báo con) dùng để địnhnghĩa quy tắc ứng xử của Apache đối với từng thư mục

– VirtualHost: Là khai báo khối, dùng để định nghĩa các web server ảo theo têntrên một máy tính duy nhất

– Alias: Dùng để tạo các thư mục ảo

II_HỆ QUẢN TRỊ CSDL MySQL

MySQL, cơ sở dữ liệu SQL mã nguồn mở thông dụng nhất, được cung cấp bởiMySQL AB MySQL AB là một công ty thương mại thực hiện việc tạo ra các dịch vụcung cấp cho doanh nghiệp đó xung quanh cơ sở dữ liệu MySQL

1_MySQL là một hệ quản trị CSDL.

Một CSDL là một tập hợp cấu trúc của dữ liệu Nó có thể là bất kỳ một cái gì từmột danh sách bán hàng đơn giản cho tới gallery ảnh hoặc số lượng lớn các thông tintrong một mạng doanh nghiệp Để thêm, truy nhập và xử lý dữ liệu được lưu trữ trongmột CSDL máy tính, ta cần một hệ quản trị CSDL như MySQL Từ khi các máy tínhthực hiện tốt việc xử lý lượng lớn dữ liệu, quản trị CSDL đóng một vai trò chính yếutrong việc tính toán, như là các công cụ đơn lẻ, hoặc một phần của các ứng dụng khác

2_MySQL là một hệ quản trị CSDL quan hệ.

Một CSDL quan hệ lưu trữ dữ liệu trong trong một số bảng chuyên biệt tốt hơn

là việc đặt toàn bộ dữ liệu trong một nơi lưu trữlớn Điều này làm tăng thêm tốc độ và

sự linh hoạt Các bảng được liên kết với nhau bằng cách định nghĩa các quan hệ tạocho nó khả năng kết nối dữ liệu từ một vài bảng khác nhau theo yêu cầu SQL là mộtphần của MySQL trong “Structured Query Language”- ngôn ngữ chuẩn thông dụngnhất được dùng để truy nhập các CSDL

3_MySQL là một phần mềm mã nguồn mở

Mã nguồn mở có nghĩa là nó có thể được sử dụng bởi bất kỳ ai cho mục đích sửdụng hoặc thay đổi nào Bất kỳ ai cũng có thể download MySQL từ internet và sửdụng nó mà không phải trả bất kỳ một thứ gì Bất kỳ ai có ý thích cũng có thể nghiêncứu mã nguồn và thay đổi chúng theo yêu cầu của riêng mình MySQL dùng GPL(GNU General Public License) ‘http:// www.gnu Org’, để định ra ta có thể được làm

gì và không được làm gì với phần mềm trong các hoàn cảnh khác nhau Nếu ta cảm

Trang 9

thấy khó chịu với GPL hoặc muốn nhúng MySQL trong một ứng dụng thương mại thì

ta có thể mua một bản quyền thương mại từ các nhà cung cấp

5_Lý do dùng MySQL

MySQL rất nhanh, đáng tin cậy và dễ dàng để sử dụng Nếu điều đó là cái màbạn đang mong muốn, bạn có thể dùng thử nó MySQL cũng có một tập các đặc điểmrất thiết thực được phát triển trong một sự hợp tác rất chặt chẽ với người sử dụng Bạn

có thể đem so sánh một cách công phu giữa MySQL và một số hệ quản trị CSDL kháctrong trang web chấm điểm của nhà cung cấp

MySQL đã được phát triển một cách sáng tạo để nắm bắt các CSDL rất lớn và nhanhhơn rất nhiều các giải pháp hiện tại và đã thành công trong việc được sử dụng trongcác môi trường sản xuất đòi hỏi cao trong vài năm Thông qua quá trình phát triểnkhông ngừng, ngày nay, MySQL cung cấp một tập các hàm rất hữu ích và dồi dào Sựkết nối, tốc độ và sự bảo mật đã làm cho MySQL trở nên thích ứng cao cho việc truycập các CSDL trên internet

5_Các đặc điểm về mặt kỹ thuật của MySQL

MySQL là một hệ thống client/server bao gồm một SQL server đa luồng chophép hỗ trợ nhiều thiết bị đầu cuối khác nhau, một vài chương trình client khác nhau

và các thư viện, các công cụ quản trị và một vài giao diện lập trình

Các nhà cung cấp cũng cung cấp MySQL như là một thư viện đa luồng mà ta có thểkết nối trong ứng dụng của ta để đạt tới một sản phẩm nhỏ hơn, nhanh hơn, dễ dàngquản lý hơn

MySQL có nhiều các phần mềm được phân phối có sẵn

Điều này thật sự thuận tiện cho ta trong việc tìm ứng dụng yêu thích của ta hoặc ngônngữ hỗ trợ MySQL

6_Ngôn ngữ MySQL

6.1_ Khái niệm cơ sở dữ liệu, bảng, cột

 Cơ sở dữ liệu: là tên của cơ sở dữ liệu chúng ta muốn sử dụng

 Bảng: là 1 bảng giá trị nằm trong cơ sở dữ liệu

 Cột: là 1 giá trị nằm trong bảng Dùng để lưu trữ các trường dữ liệu

Trang 10

Như vậy ta có thể hiểu như sau:

1 cơ sở dữ liệu có thể bao gồm nhiều bảng

1 bảng có thể bao gồm nhiều cột

1 cột có thể có hoặc không có những thuộc tính

6.2_Một số thuật ngữ trong ngôn ngữ MySQL:

NULL : Giá trị cho phép rỗng

AUTO_INCREMENT : Cho phép giá trị tăng dần (tự động).UNSIGNED : Phải là số nguyên dương

PRIMARY KEY : Cho phép nó là khóa chính trong bảng

6.3_Kiểu dữ liệu trong MySQL:

6.4_Những cú pháp cơ bản:

 Cú pháp tạo 1 cơ sở dữ liệu:

CREATE DATABASE tên_cơ_sở_dữ_liệu;

 Cú pháp sử dụng cơ sở dữ liệu:

Use tên_database;

Trang 11

 Cú pháp thoát khỏi cơ sở dữ liệu:

Exit

 Cú pháp tạo 1 bảng trong cơ sở dữ liệu:

CREATE TABLE user (<tên_cột><mô_tả>,…,<tên_cột_n>… <mô_tả_n>)

Ví dụ:

mysql> create table user(user_id INT(15) UNSIGNED NOT NULL

AUTO_INCREMENT, username VARCHAR(255) NOT NULL, password CHAR(50)NOT NULL, email VARCHAR(200) NOT NULL, PRIMARY KEY (user_id));

 Hiển thị có bao nhiều bảng:

show tables;

 Hiển thị có bao nhiêu cột trong bảng:

show columns from table;

 Thêm 1 cột vào bảng :

ALTER TABLE tên_bảng ADD <tên_cột><thuộc_tính> AFTER <tên_cột>

Ví dụ:

mysql> alter table user add sex varchar(200) NOT NULL after email;

 Thêm giá trị vào bảng:

INSERT INTO Tên_bảng(tên_cột) VALUES(Giá_trị_tương_ứng);

Ví dụ:

mysql> insert into user(username,password,email,sex,home)

values(“Lanna”,”12345″,”lanna@yahoo.com”,”F”,”www.abc.com”);

 Truy xuất dữ liệu:

Cú pháp: SELECT tên_cột FROM Tên_bảng;

Ví dụ:

mysql> select user_id,username from user;

 Truy xuất dữ liệu với điều kiện:

Cú pháp: SELECT tên_cột FROM Tên_bảng WHERE điều kiện;

Ví dụ:

mysql> select user_id,username from user where user_id=2;

 Truy cập dữ liệu và sắp xếp theo trình tự

Cú pháp:

SELECT tên_cột FROM Tên_bảng

Trang 12

WHERE điều kiện (có thể có where hoặc không)ORDER BY Theo quy ước sắp xếp.

Trong đó quy ước sắp xếp bao gồm hai thông số là ASC (từ trên xuống dưới), DESC (từ dưới lên trên)

Ví dụ:

mysql> select user_id,username from user order by username ASC ;

 Truy cập dữ liệu có giới hạn :

Cú pháp:

SELECT tên_cột FROM Tên_bảngWHERE điều kiện (có thể có where hoặc không)LIMIT vị trí bắt đầu, số record muốn lấy ra

mysql> update user set email=”admin@qhonline.info” where user_id=1 ;

 Xóa dữ liệu trong bảng:

Cú pháp:

DELETE FROM tên_bảng WHERE (điều kiện)

Nếu không có ràng buộc điều kiện, chúng sẽ xó toàn bộ giá trị của các record trong bảng

Trang 13

và các tag kết thúc đặc biệt cho phép ta nhảy vào và nhảy ra chế độ PHP.

Điều nhận ra PHP từ những gì giống JavaScript bên phía Client là mã chương trìnhđược thực hiện bên phía server Nếu ta đã có một script giống như trên bên phía servercủa ta, client sẽ nhận các kết quả từ việc chạy script đó, mà không còn cách nào để xácđịnh điều gì bên dưới mã lệnh Thậm chí ta có thể cấu hình Webserver của ta để xử lýtất cả các file HTML của ta với PHP, và vì vậy không còn cách nào mà những người

sử dụng có thể biết điều gì ta lên kế hoạch

2_Lịch sử của PHP

PHP đã được nghĩ đến trong khoảng cuối năm 1995 bởi Rasmus Lerdorf Cácphiên bản không phát hành trước đó đã được dùng trên chính trang chủ của anh ta đểtheo dõi ai đang tìm bản lý lịch trực tuyến của anh ta Phiên bản đầu tiên được dùng

Trang 14

bởi những người khác đã có sẵn trong khoảng thời gian trước năm 1995 và đã đượcbiết đến như là các công cụ trang chủ cá nhân Nó bao gồm một bộ máy phân tích từloại một cách đơn giản mà chỉ được hiểu là một số ít các macro đặc biệt và một số cáctiện ích mà được dùng một cách thông dụng trên các trang chủ trước đó Bộ phân tích

từ loại đã được viết lại vào giữa năm 1995 và có tên là PHP/FI phiên bản 2 FI có được

lạ do từ một gói khác của Rasmus đã được viết lại được biên dịch định dạng dữ liệuHTML Anh ta đã kết hợp các script các công cụ trang chủ cá nhân với trình biên dịchform và thêm vào hỗ trợ mSQL và PHP/FI đã ra đời PHP/FI đã phát triển lên mộtcách đáng kinh ngạc và mọi người đã bắt đầu đóng góp mã cho nó

Để thống kê một cách nghiêm khắc là một điều phức tạp, nhưng ước lượng khoảngcuối năm 1996 PHP/FI đã được dùng trên ít nhất 15000 trang web trên khắp thế giới.Khoảng giữa năm 1997 con số này đã tăng lên trên 50000 trang web Giữa năm 1997cũng đã thấy một sự thay đổi trong việc phát triển PHP Nó thay đổi từ việc sở hữu dự

án cưng của Rasmus rằng một nhóm người đã đóng góp vào, để có thêm nhiều sựthống nhất có trật tự của nhóm sao cho đạt hiệu quả cao

Bộ phân tích từ loại đã được viết lại một cách hỗn tạp bởi Zeev Suraski và AndiGutmans và bộ phân tích từ loại mới này đã định hình nền tảng cho phiên bản 3 củaPHP Nhiều mã tiện ích từ PHP/FI đã được dùng cho PHP3 và nhiều trong số đó đãđược viết lại một cách hoàn toàn

Phiên bản PHP5 dùng bộ máy scripting Zend để phân phối sự thực hiện cao cấp hơn,

hỗ trợ một mảng các thư viện và các mở rộng của các hãng thứ 3 rộng rãi hơn và chạynhư là một module server địa phương với toàn bộ các web server được ưa chuộng.Ngày nay, PHP 3 hoặc PHP 5 hiện tại chuyên chở một số lượng các sản phẩm thươngmại như web server Red Hat’s Stronghold Ngày nay, theo ước lượng thì PHP đượcdùng trong khoảng 5.1 triệu trang trên toàn thế giới và hơn cả IIS server của Microsoft( khoảng 5.03 triệu trang)

3_PHP có thể làm được những gì ?

Tại hầu hết các mức cơ bản nhất, PHP có thể làm bất kỳ điều gì mà các chươngtrình CGI khác có thể làm, ví dụ như tập hợp các dạng dữ liệu, sinh ra nội dung cáctrang web động, hoặc gửi và nhận các cookie

Ngày đăng: 22/03/2018, 15:01

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w