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

Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online

85 377 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 85
Dung lượng 1,71 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với sự phát triển mạnh mẽ của công nghệ thông tin và sự lớn mạnh, rộng khắp của mạng máy tính toàn cầu. Việc ứng dụng tin học vào các lĩnh vực của cuộc sống ngày càng được quan tâm và sử dụng hiệu quả, đem lại lợi ích to lớn về mọi mặt. Sự lớn mạnh của mạng máy tính đã xóa bỏ mọi ranh giới về không gian và thời gian để đem con người và tri thức xích lại gần nhau hơn. Thông qua mạng máy tính, con người có thể được tiếp xúc với mọi loại tri thức như tri thức văn hóa, xã hội, khoa học và kỹ thuật.... Trong lĩnh vực giáo dục, với sự thay đổi không ngừng của công nghệ và kỹ thuật, mạng Internet sẽ là nơi học tập, trao đổi kinh nghiệm và truyền đạt những tri thức mới một cách nhanh chóng và hiệu quả nhất. Hệ thống giáo dục của chúng ta trong những năm gần đây cũng đã có sự chuyển mình theo xu thế mới. Các trường học từ tiểu học cho đến đại học đã áp dụng đưa tin học vào giảng dạy như là một môn học bắt buộc. Hình thức thi cử cũng đã chuyển dần từ thi tự luận sang hình thức thi trắc nghiệm. Đây là hình thức kiểm tra rất khoa học, đánh giá được chính xác năng lực của thí sinh, giảm bớt các khâu dư thừa trong thi cử từ đó giảm thiểu được tiêu cực. Kì thi đại học - cao đẳng trước kia năm nào cũng diễn ra rất căng thẳng thì nay tình hình đã có vẻ dễ thở hơn rất nhiều. Để góp một phần công sức nhỏ nhoi của mình vào công cuộc cái cách giáo dục của đất nước tôi đã phát triển hệ thống thi trắc nghiệm Online: EZ-TEST nhằm giúp đỡ cho các bạn học sinh, sinh viên có điều kiện làm quen với hình thức thi trắc nghiệm đồng thời cũng là cách để các bạn tự kiểm tra kiến thức cho mình trước các kì thi lớn. Hệ thống EZ-TEST được phát triển dựa trên công nghệ mã nguồn mở LAMP (Linux, Apache, MySQL và PHP) nên khi triển khai sẽ hoàn toàn miễn phí. Trong tương lai, tôi cũng hi vọng phát triển và hoàn thiện thêm nhiều tính năng mới và hữu dụng cho hệ thống để có thể triển khai miễn phí cho các trung tâm giáo dục và các trường học trên cả nước.

Trang 1

để đồ án này sẽ hoàn thiện hơn Trong tương lai tôi sẽ cố gắng đưa dự án này vào thực tiễn, đóng góp phần nhỏ bé của mình cho nền giáo dục nước nhà.

Hà Nội, ngày 03 tháng 05 năm 2009

Sinh viên thực hiện:

MAI THÀNH HIẾU

Trang 2

LỜI MỞ ĐẦU

Với sự phát triển mạnh mẽ của công nghệ thông tin và sự lớn mạnh, rộng khắp của mạng máy tính toàn cầu Việc ứng dụng tin học vào các lĩnh vực của cuộc sống ngày càng được quan tâm và sử dụng hiệu quả, đem lại lợi ích to lớn

về mọi mặt Sự lớn mạnh của mạng máy tính đã xóa bỏ mọi ranh giới về không gian và thời gian để đem con người và tri thức xích lại gần nhau hơn Thông qua mạng máy tính, con người có thể được tiếp xúc với mọi loại tri thức như tri thức văn hóa, xã hội, khoa học và kỹ thuật

Trong lĩnh vực giáo dục, với sự thay đổi không ngừng của công nghệ và

kỹ thuật, mạng Internet sẽ là nơi học tập, trao đổi kinh nghiệm và truyền đạt những tri thức mới một cách nhanh chóng và hiệu quả nhất Hệ thống giáo dục của chúng ta trong những năm gần đây cũng đã có sự chuyển mình theo xu thế mới Các trường học từ tiểu học cho đến đại học đã áp dụng đưa tin học vào giảng dạy như là một môn học bắt buộc Hình thức thi cử cũng đã chuyển dần từ thi tự luận sang hình thức thi trắc nghiệm Đây là hình thức kiểm tra rất khoa học, đánh giá được chính xác năng lực của thí sinh, giảm bớt các khâu dư thừa trong thi cử từ đó giảm thiểu được tiêu cực Kì thi đại học - cao đẳng trước kia năm nào cũng diễn ra rất căng thẳng thì nay tình hình đã có vẻ dễ thở hơn rất nhiều

Để góp một phần công sức nhỏ nhoi của mình vào công cuộc cái cách giáo dục của đất nước tôi đã phát triển hệ thống thi trắc nghiệm Online: EZ-TEST nhằm giúp đỡ cho các bạn học sinh, sinh viên có điều kiện làm quen với hình thức thi trắc nghiệm đồng thời cũng là cách để các bạn tự kiểm tra kiến thức cho mình trước các kì thi lớn

Trang 3

Hệ thống EZ-TEST được phát triển dựa trên công nghệ mã nguồn mở LAMP (Linux, Apache, MySQL và PHP) nên khi triển khai sẽ hoàn toàn miễn phí Trong tương lai, tôi cũng hi vọng phát triển và hoàn thiện thêm nhiều tính năng mới và hữu dụng cho hệ thống để có thể triển khai miễn phí cho các trung tâm giáo dục và các trường học trên cả nước.

Hà Nội, ngày 03 tháng 05 năm 2009

Sinh viên:

MAI THÀNH HIẾU

Trang 4

Phần I TỔNG QUAN VỀ HỆ THỐNG

1.1 GIỚI THIỆU CHUNG.

Hệ thống quản lý giáo dục và đào tạo trên mạng là một hệ thống phục vụ cho mục đích đào tạo và học tập trực tuyến Tham gia vào hệ thống, người dùng

có thể theo đuổi các khóa học với những chủ đề bất kỳ mà họ muốn Hệ thống cũng cung cấp các tính năng quản lý học viên, việc học tập và thực hiện các kỳ thi, các bài kiểm tra trên mạng

Đào tạo trực tuyến cho phép cung cấp nội dung các chương trình đào tạo, thi và kiểm tra, theo dõi tình hình học tập của học viên thông qua việc kết nối mạng, quá trình quản lý và kiểm tra trực tuyến cũng được thực hiện trên mạng máy tính

Học tập trực tuyến là quá trình học tập, tham khảo và đọc tài liệu, giáo trình, thông qua mạng internet Người sử dụng có thể giao tiếp với nhau thông qua mạng máy tính để trao đổi thông tin, trao đổi kinh nghiệm, hỏi đáp thắc mắc với những người khác, thực hiện các bài kiểm tra về các khoá học của mình ngay trên máy tính( test online)

Học tập trực tuyến mang lại hiệu quả cao hơn, giảm các chi phí và tăng khả năng tiếp thu kiến thức Học tập trực tuyến còn giúp mọi người tiếp cận với các nguồn tri thức phong phú, mới và tiếp cận với các công nghệ hiện đại

Ngày nay, với sự phát triển mạnh mẽ của các ứng dụng máy tính cũng như mạng truyền thông, nhu cầu học tập trực tuyến ngày càng không thể thiếu được đối với tất cả mọi người

Trong tương lai, việc học tập trực tuyến sẽ trở nên rất phổ biến, vượt qua mọi rào cản về không gian và thời gian cũng như tình trạng kinh tế, xã hội để phổ biến kiến thức cho mọi người

Trang 5

Trong thời gian làm đồ án tốt nghiệp, tôi đã xây dựng một hệ thống website phục vụ nhu cầu học tập, tra cứu, trao đổi kiến thức trên mạng với thành phần chính là hệ thống thi trắc nghiệm trực tuyến phục vụ cho nhu cầu học tập, trao đổi, đánh giá của các bạn học sinh và sinh viên.

1.2 GIỚI THIỆU E-LEARNING.

tự nhiên trên Web

Lý do và sự xuất hiện của E-learning?

Khi các công ty trên thế giới phát triển trên quy mô toàn cầu thì các ràng buộc về mặt thời gian và vị trí làm cho việc sử dụng các hình thức đào tạo truyền thống đem lại rất ít hiệu quả Do vậy hiện nay nhiều công ty đã lựa chọn các chương trình đào tạo E-learning để đào tạo nhân viên cho mình

Với sự phát triển của công nghệ nói chung và Internet nói riêng, những người sử dụng Internet trên khắp thế giới đang nhận ra khả năng của Internet có

Trang 6

thể đem lại cho họ tri thức và các kỹ năng cần thiết cho những cơ hội trong thế

kỷ 21 E-learning không phải là hình thức đào tạo truyền thống, mà nó đem lại cho mọi người cơ hội học tập nhiều hơn, với chi phí thấp hơn cũng như sự tiện lợi hơn so với những gì mà chúng ta có các đây vài năm

1.2.2 Những ưu điểm của học tập trực tuyến.

Tính mềm dẻo, tính truy cập, tính tiện lợi: Người sử dụng có thể học tập, tham khảo bất kỳ tài liệu nào, thuộc bất cứ lĩnh vực vào các thời điểm bất kỳ, không giới hạn thời gian

Không phụ thuộc vào hệ điều hành (cross platform): E-learning có thể được truy cập bằng các phần mềm duyệt Web trên bất kỳ nền tảng nào: Windows, Mac, Unix, OS/2, Amiga, … Có thể truyền tải chương trình đào tạo của mình tới bất cứ máy tính nào trên Internet hay Intranet mà không phải xây dựng các chương trình khác nhau cho từng hệ điều hành

Phần mềm duyệt Web và các kết nối Internet được sử dụng rộng rãi: Máy tính hầu hết đều có một trình duyệt, như Nestcape Navigator và kết nối vào mạng Intranet của trường, hoặc truy cập trực tiếp vào Internet

Sự phân tán rộng rãi với chi phí thấp: Không cần phải có một cơ chế phân tán nào, E-Learning có thể được truy cập từ bất cứ một máy tính nào ở bất cứ đâu trên thế giới, với chi phí rất thấp

Dễ dàng cập nhật: Nếu có những thay đổi đối với những chương trình đào tạo, học tập sau khi đã cài đặt ban đầu, thì những thay đổi sẽ được thực hiện trên máy chủ có chứa các chương trình đào tạo được cập nhật rất mới mẻ Các khóa học, giáo trình, tài liệu liên quan luôn được cập nhật, nâng cấp và bổ sung, sửa đổi

Giảm giá thành và tiết kiệm thời gian: Không cần phải có bất cứ chi phí đi lại nào cho người sử dụng ở xa vì Web luôn có trong máy tính kể cả máy tính

Trang 7

xách tay cũng như máy tính để bàn, và tiết kiệm được chi phí mua sách, tài liệu tham khảo

1.2.3 Nhược điểm của học tập trực tuyến.

Hạn chế băng thông: Những hạn chế của băng thông làm chậm tốc độ tải

âm thanh, video, và các dạng dữ liệu đồ họa (nhất là các giáo trình điện tử được thiết kế theo dạng multimedia) làm cho người sử dụng mất nhiều thời gian cho việc chờ đợi để tải về máy của mình Vấn đề này càng phức tạp hơn đối với mạng công cộng internet nói chung và điều kiện truy cập internet ở Việt Nam nói riêng, nơi mà hiện tượng tắc nghẽn thường xuyên xảy ra Tuy nhiên, với sự phát triển mạng mẽ của công nghệ, trong tương lai, những vấn đề này sẽ được giải quyết

Các chương trình học tập trực tuyến ngày nay chưa sinh động, quá tĩnh: Khi công nghệ ngày càng phát triển thì mức độ tương tác của e-learning lại bị giới hạn rất nhiều Trở ngại này ảnh hưởng khá nhiều đến hiệu suất đào tạo

Không phải tất cả những kiến thức của mọi lĩnh vực đều được truyền đạt hết thông qua máy tính, nhất là trong những vấn đề cần phải có sự tương tác tiếp xúc của con người, học tập trực tuyến chỉ là hình thức hỗ trợ cho việc trao đổi, học tập chứ không thay thế được hoàn toàn những hình thức đã thực sự tốt

Các chương trình sử dụng cho học tập trực tuyến phải luôn luôn cập nhật thường xuyên, phải có một đội ngũ những người duy trì và phát triển hệ thống trong một thời gian dài

1.3 TÌM HIỂU VỀ GIÁO TRÌNH ĐIỆN TỬ

Giáo trình điện tử là những tài liệu chỉ dẫn, giảng dạy, tài liệu tham khảo được xây dựng và phát triển dựa trên những tiện ích và công nghệ máy tính, giáo trình điện tử không lưu trữ trong các trang sách, hay tài liệu bằng giấy mà nó sẽ

Trang 8

tương tác với người dùng thông qua máy tính Giáo trình điện tử có thể được lưu trữ trong CDROM, trong máy tính hay trên mạng Internet

Với sự phát triển mạnh mẽ của công nghệ máy tính, việc xây dựng và phát triển các giáo trình điện tử ngày càng đuợc quan tâm vị lợi ích to lớn mà giáo trình điện tử mang lại cho người sử dụng

1.3.1 Một số ưu điểm của giáo trình điện tử.

Khả năng miêu tả bài học trực quan, sinh động, ứng dụng các công nghệ multimedia vào các giáo trình giúp cho sự tiếp thu bài học tốt hơn, ví dụ như các đoạn phim minh hoạ bài giảng, hướng dẫn học tập bằng tiếng nói

Thuận tiện, vị giáo trình điện tử lưu trữ trên các thiết bị như CDROM, ổ cứng, mạng ineternet nên rất thuận tiện cho việc học tập, nghiên cứu ở mọi không gian, thời gian, chỉ cần người sử dụng có máy tính chứa các chức năng cần thiết để sử dụng giáo trình điện tử

Thời gian tồn tại của một giáo trình lâu hơn so với việc lưu trữ các giáo trình, tài liệu bằng giấy, hoặc các trang sách

1.3.2 Nhược điểm

Đối với những giáo trình điện tử ứng dụng multimedia thì thường có dung lượng lớn, so với điều kiện đường truyền hiện nay ở nứơc ta thì tốc độ tải các giáo trình điện tử còn chậm

Nhiều giáo trình điện tử có giá thành cao Ví dụ như các giáo trình English Study, bộ giáo trình của SCC/IBT

Những vùng công nghệ thông tin chưa phát triển thì các giáo trình điện tử

sẽ không phát huy được tác dụng

Những giáo trình điện tử phải được cập nhật, bổ sung tri thức liên tục, nhất là trong lĩnh vực công nghệ thông tin

Trang 9

1.3.3 Một số công cụ trợ giúp xây dựng giáo trình điện tử:

Giáo trình điện tử hiện nay được tạo ra từ rất nhiều tiện ích khác nhau có trong máy tính, phổ biến trong các công cụ dùng để truyền đạt tri thức trên mạng này là PowerPoint, Adobe Flash, Adobe Acrobat Ngoài ra còn sử dụng các công cụ hỗ trợ khác như các tiện ích thu phát âm thanh, thu phát các đoạn phim

Trang 10

mở cho phép người dùng phân phối lại, tái tạo, sửa đổi nội dung để phù hợp với yêu cầu công việc đồng thời cải tiến phần mềm.

Tư tưởng phân phối mã nguồn kèm theo chương trình là nhằm khuyến khích sự hợp tác làm việc và những đóng góp tình nguyện trong việc sửa đổi, cải tiến phần mềm, phát triển thêm những tính năng mới và chia sẻ thông tin với mọi người

Nhờ có sự hợp tác làm việc của các lập trình viên, cũng như sự đóng góp của những người tình nguyện, phần mềm đến với người dùng ngày càng hoàn thiện thêm về mặt chất lượng và trở nên tốt hơn các phần mềm nguồn đóng tương ứng Người dùng được khuyến khích tùy biến chương trình theo nhu cầu của bản thân, đây thực sự là một tư tưởng tốt đẹp

Các dự án mã nguồn mở đã huy động được tài năng của rất nhiều người, với rất nhiều kỹ năng khác nhau, ngoài kỹ năng lập trình Rất nhiều dự án mã nguồn mở đã được xây dựng nhờ các họa sỹ, nhạc sỹ, nhà thiết kế và những người biên soạn tài liệu nhờ đó đã tạo ra những sản phẩm hoàn chỉnh

2.1.2 Phần mềm tự do.

Trang 11

Trong những năm 1960 các phần mềm thường được phân phối tự do bởi các công ty như IBM hoặc được chia sẻ giữa những người sử sụng phần mềm với nhau Phần mềm này được cung cấp kèm theo mã nguồn để có thể sửa đổi

và cải tiến; đây chính là hạt giống đầu tiên cho phần mềm nguồn mở Tuy nhiên, theo thời gian các thiết bị phần cứng trở nên rẻ hơn và lợi nhuận của các công ty giảm xuống trong những năm 1970 khiến các nhà sản xuất coi phần mềm là sản phẩm kinh doanh

Vào thang 9, năm 1983 Richard Matthew Stallman, lập trình viên của phòng thí nghiệm MIT Artiffical Intelligence đã sáng lập ra dự án GNU để tạo

ra một hệ điều hành miễn phí giống như UNIX Stallman quan tâm đến sự phát triển nhanh chóng của các phần mềm sở hữu và việc người dùng không có khả năng xem và sửa đổi các phần mềm nằm trên máy họ Những nhà phát triển cũng bị hạn chế và điều này trái ngược với sự tự do về mã nguồn có trước đó Bằng việc sáng lập ra dự án GNU, Stallman đã phát động phong trào phần mềm

tự do và đến tháng 10 năm 1985 ông sáng lập ra Tổ chức phần mềm tự do

Stallman đã đặt nền móng cho những định nghĩa và tính chất cho phần mềm nguồn mở, cũng như những khái niệm về “copyleft” Ông là tác giả chính cho một số giấy phép “copyleft”, bao gồm GNU/GPL (General Public License), giấy phép phần mềm tự do được sử dụng rộng rãi nhất hiện nay

Hệ thống EZ-TEST là một phần mềm mã nguồn mở, tuân thủ theo giấy phép GNU/GPL

2.2 GIỚI THIỆU HỆ ĐIỀU HÀNH UBUNTU (LINUX).

Ubuntu là một hệ điều hành hoàn toàn mở, được xây dựng dưạ trên nhân (kernel) Linux Cộng đồng người dùng Ubuntu được hình thành bởi những tư tưởng đã gắn kèm theo triết lý Ubuntu (Ubuntu Philosophy) là : người dùng

Trang 12

được sử dụng phần mềm miễn phí, mỗi một phần mềm đều có thể sử dụng dưới giao diện ngôn ngữ bản địa của người dùng và quan trọng nhất là người dùng hoàn toàn tự do chỉnh sửa và thay đổi phần mềm để phù hợp với nhu cầu sử dụng của ḿnh Vì những lý do đã nêu trên đây :

Ubuntu sẽ được luôn luôn phân phối miễn phí và cũng chẳng thêm phí nào cho phiên bản dành cho các công ty, Enterprise edition

Ubuntu sẽ luôn luôn bao gồm các bản phiên dịch tốt nhất và sẽ luôn luôn tạo ra một cơ cấu truy cập (accessibility infrastructure) tốt nhất theo khả năng cung cấp của cộng đồng lập trình phần mềm tự do, nhằm mục đích cho phép càng nhiều người càng có thể sử dụng Ubuntu

Các phiên bản Ubuntu được công bố đều đặn, với tần xuất định trước; mỗi

6 tháng sẽ ra một phiên bản mới Người dùng có thể dùng phiên bản Ubuntu ổn định hoặc dùng phiên bản đang phát triển Mỗi phiên bản sẽ được hỗ trợ tối thiểu trong vòng 18 tháng

Ubuntu hoàn toàn tuân theo những nguyên tắc phát triển phần mềm mă nguồn mở và khuyến khích mọi người dùng phần mềm mă nguồn mở, cải thiện chúng và phân phối lại cho những người khác

Cộng đồng Ubuntu bao gồm người phát triển, lập trình viên, người thử nghiệm, người soạn tài liệu kỹ thuật, người dùng thử các tài liệu kỹ thuật, người dịch và, quan trọng nhất, những người dùng Ubuntu hằng ngày

2.3 APACHE, PHP & MYSQL.

2.3.1 Apache Web Server.

a Giới thiệu về Apache Web Server:

Trang 13

Apache là một phần mềm Web server được cung cấp bởi tập đoàn Apache Group Đây là một Web server được hỗ trợ để chạy chủ yếu trên UNIX va LINUX và rất được phổ biến bởi tính chặt chẽ, uyển chuyển và linh hoạt Hiện nay Apache là một Web server đang quản lý hơn 50% số Web site đang có trên thế giới.

b Tổ chức Web site:

Trước khi bắt đầu xây dựng một Web site, người sử dụng có thể muốn tìm hiểu tổ chức của nó Khi có nhiều hơn các khả năng suy nghĩ về các cách tổ chức cấu trúc một Web site, người sử dụng có thể suy nghĩ về nó như một viễn cảnh đi lại Trong những suy nghĩ thêm của nó về khía cạnh này, sẽ nảy sinh ra những câu hỏi: Người sử dụng có thể làm gì để dễ dàng giữ gìn Web site của mình? Các quy ước nào sẽ làm đơn giản Web site của họ?

c Cài đặt Apache.

Để cài đặt Apache trên Ubuntu, từ giao diện Terminal gõ:

$sudo apt-get install apache2

Hệ thống sẽ tự động kết nối đến kho phần mềm, download về và cài đặt Sau khi cài đặt thông thường Apache sẽ được cấu hình tự động kết nối qua cổng

80 và tiến hành chạy như một dịch vụ mặc định của hệ điều hành

Trường hợp Apache chưa được khởi động, ta có thể khởi động Apache bằng lệnh sau trong giao diện Terminal:

$ sudo /etc/init.d/apache2 start

Để kiểm tra xem Apache đã hoạt động hay chưa, ta mở trình duyệt lên và

gõ vào địa chỉ URL: http://localhost

Trang 14

Nếu thành công, ta sẽ nhận được lời chào từ Apache như sau:

Nếu không người sử dụng sẽ nhận được một thông báo lỗi, có thể xem lại file error.log trong thư mục log Một khi các cài đặt cơ sở đang làm việc, người

sử dụng phải cấu hình các thuộc tính của nó bằng cách sửa đổi nội dung các file trong thư mục conf

d Virtual Host:

Vitual Host là một sức mạnh thật sự của Apache Virtual Host cho phép Apache Web Server chạy cùng lúc nhiều Web site Apache là một HHTP server đầu tiên cung cấp các hỗ trợ cho việc xây dựng một virtual site Trong khi các server của NCSA và các server khác cũng cung cấp sự hỗ trợ virtual site nhưng Apache cung cấp một khả năng thi hành tốt hơn và có nhiều điểm đặc trưng hơn các server khác

Chỉ mới nhìn qua, dường như sự thuận lợi chính của virtual site là chỉ để

tô điểm, nó cho phép nhiều Web site được đánh địa chỉ tên miền của nó trên các máy đơn đã được chia sẻ Tuy nhiên sự thuận lợi của nó nhiều kết quả rõ ràng

Trang 15

nằm trong cách quản trị Web site và cách những máy khác sử dụng nó Một Virtual host thường được tạo ra nhằm mục đích như sau:

Khách hàng có thể dễ dàng truy cập các Web site của mình trên các server cho thuê Từ khi người thuê server có thể sử dụng tên miền của chính mình, các địa chỉ có khuynh hướng ngắn đi Điều này đã giúp đỡ việc đưa ra tính chuyên nghiệp đồng nhất trên thế giới Những người sử dụng thích nhớ những địa chỉ ngắn hơn từ khi tên miền có một vài sự thích hợp với tên của các tập đoàn công ty

Rút gọn tối đa các máy tính và phần cứng mạng, nhiều site tốc độ chậm

có thể nằm ở tại một máy đơn, điều này làm giảm bớt giá thành của việc đưa một site lên mạng

Giảm bớt giá thành về con người kết hợp với các hệ thống quản trị Thay cho việc quản lý và cấu hình một server chuyên dụng cho các tên miền Một Web server chỉ cần duy trị vài file cấu hình và một số các box Điều này sẽ dẫn đến việc giảm một số hệ thống cần để duy tu nó, như vậy việc duy trị một mảng

sẽ đơn giản hơn và ít tốn kém hơn

Bởi vì hầu hết các Web site khi tạo ra đều không đủ đường truyền lưu thông để sử dụng hết các tài nguyên trên một máy đơn, điều đó là sự khát khao

từ một người quản trị cá nhân cho phép một server đơn giản trên mạng và chạy như nhiều máy khác nhau thay vì dành cho phần cứng và tiền bạc để mỗi site được đưa lên, một vài server cấu hình các lệnh để đưa ra các kết quả như nhau: một virtual site Bởi vì phí tổn để cài đặt một server có thể chia xẻ cho nhiều site, thời gian để cấu hình và quản lý Web site được giảm đi rất nhiều

Virtual host đã đem lại một khía cạnh chắc chắn của việc tạo ra một trang Web di động Khi một site là ảo, nó dễ dàng di chuyển đến một Web server khác trong cùng một mạng hoặc ở một nơi nào khác Đây chính là vấn đề của việc chuyển chỗ các trang HTML của các site đến một máy mới và điều chỉnh các thông tin DNS (Domain Name Server) của site đưa lên một server mới Để việc thích nghi với DNS được cập nhật, đơn giản chỉ cần tạo ra sự đổi hướng

Trang 16

trên server cũ Điều này cho phép sự lưu thông được trôi chảy mà không có sự sai sót, đó là một vấn đề quan trọng với các site đang lớn mạnh đang được lưu thông để tạo ra kinh doanh.

Về mặt lịch sử, khi người sử dụng muốn một site đang host sử dụng tên miền của họ, sự lựa chọn có thể được là mua hoặc thuê một máy tính và dùng nó

để cấu hình như một Web server Phải chịu các phí tổn để tiêu tốn cho việc quản

lý server này Các phí tổn này dễ thường là rất lớn, việc này đã thúc đẩy các nhà cung cấp dịch vụ Internet (ISP) thêm vào các cách để hỗ trợ nhiều Web site trên một host, điều này dẫn đến một vài giải pháp gần đây, chẳng hạn như Home Page Approach

Home Page Approach tạo ra một địa chỉ giống như:

http://www.isp.dom/~name

Home Page Approach là một cách thích hợp để phục vụ các trang người dùng cục bộ Nhưng khi dùng nó để phục vụ cung cấp thông tin lớn và đang được truy cập thường xuyên bởi một số lớn người sử dụng thì việc này sẽ tạo ra một địa chỉ tồi mà rất khó nhớ, tên nhập vào dài, dễ xảy ra sai sót phía người sử dụng và trông không được chuyên nghiệp lắm

Xây dựng một virtual host:

Các phạm vi liên quan của virtual host, virtual site và multihomed server thông thường được sử dụng thay thế cho nhau Để dễ hie?u hơn, chỉ cần suy nghĩ chúng như sau:

Để tạo một virtual site, thì cần phải cấu hình một virtual host, để virtual host làm việc cần phải tạo một mutihomed server, như vậy rõ ràng là có sự khác nhau giữa chúng

Một máy tính multihomed là môt máy tính có thể trả lời cùng một lúc đến nhiều địa chỉ IP Một máy tính mày có thể được truy cập bởi nhiều tên (chẳng hạn như www.mailhost.foo.com và www.foo.com) mà nó thi hành cho các địa chỉ IP như nhau không thể là một máy tính Multihomed

Trang 17

Việc đặt bí danh, một khả năng cung cấp bởi DNS trong một bảng ghi tài nguyên CNAME , hoặc liệt kê các tên máy tính trên etc/host/file đằng sau các địa chỉ IP thị chỉ tiện lợi cho người sử dụng đang truy cập vào một tài nguyên trên mạng Thông thường người ta mất nhiều thời gian để nhớ tên, và một vài tên chẳng hạn như WWW hoặc FTP thì là tiêu chuẩn đặc trưng cho các máy tính

mà nó đưa lên mạng các dịch vụ với tên tương tự Người sử dụng chỉ cần nhớ tên miền nơi các tài nguyên nơi các tài nguyên đó sử dụng tên truyền thống (chẳng hạn www.aple.com, www.mailhost.com hoặc ftp.aple.com ) Một máy Multihomed cần nhiều hơn thế, nó phải trả lời cho cùng lúc hai hoặc nhiều địa chỉ IP chẳng hạn địa chỉ IP 1.2.3.4 là địa chỉ được ấn định bởi mạng làm việc Internet của người sử dụng cung cấp khi họ sign up với chúng

e Virtual site:

Virtual site là một Web site mà nó cùng nằm trên một server với các Web site khác Mỗi Web site thị được truy cập bằng tên của chúng và chia xẻ tất cả tài nguyên phần cứng với các virtual site khác Mặc dù tất các yêu cầu đều được trả lời bằng các xử lý như nhau trên HTTP server, nhưng các trang chủ khác nhau được trả về cho mỗi site phụ thuộc vào tên hoặc địa chỉ IP sử dụng khi truy cập các thông tin

Một vấn đề về mạng khác là việc phải đánh địa chỉ trước khi có thể multihome là DNS DNS cung cấp một tên máy đến dịch vụ chuyển sang IP Khi tên máy được đánh số, con người thích sử dụng tên máy hơn DNS chuyển các tên sang số và các số sang tên Sự thay đổi này có ý nghĩa là nếu người sử dụng kết nối với Internet, và đang chạy với một tên server Nếu không thị ngược lại không một ai khác chạy nó Nếu người sử dụng không phải đang chạy với DNS của chính mình, họ sẽ cần phải ngang hàng với quyền quản trị mạng của chính mình để thi hành bất kỳ sự thêm vào hoặc thay đổi DNS

Trang 18

Conf/access.conf: Chứa các chỉ thị mà nó điều khiển sự truy cập các tài liệu Tên file có thể được bỏ qua với chỉ thị AccessConfig.

g Apache và các dịch vụ hỗ trợ:

HTTPD:

Tên dòng lệnh:

httpd [ -X ] [ -R libexecdir ] [ -d serverroot ] [ -f config]

[ -C directive ] [ -c directive ] [ -D parameter ]

Mô tả:

Là một chương trình HTTP server Nó được thiết kế để chạy như một tiến trình deamon một mình Khi dùng đến dịch vụ này, nó sẽ tạo ra một nhóm các tiến trình con để đáp ứng các yêu cầu Để ngừng dịch vụ này, nó sẽ gửi một tín hiệu TERM đến tiến trình cha PIG của tiến trình này sẽ ghi lên một file và dưa vào file cấu hình HTTPD sẽ được gọi bởi Internet deamon inetd mỗi khi có một kết nối đến dịch vụ HTTP đã được thiết lập

Các đối số cụ thể của dòng lệnh

Trang 19

-R libexecdir: Tham số này chỉ có hiệu lực nếu Apache được cài đặt với tập SHARED_CORE cho phép, nó tác động đến nhân nhị phân của Apache để thay thế vào trong một file đối tượng chia xẻ động (DSO) File này được dò tìm trên một đường dẫn hardcoded bên dưới ServerRoot mặc định

-d serverroot: Thiết lập giá trị ban đầu của chỉ thị ServerRoot đến serverroot Chức năng này có thể bị bỏ qua bởi dòng lệnh ServerRoot trong file cấu hình Mặc định server root là usr/local/apache

-f : Thực thi các lệnh trong file config khi Startup Nếu file config không bắt đầu với a/, lúc đó nó sẽ lấy một một đường dẫn có liên quan đến ServerRoot Mặc định của nó là conf/httpd.conf

-C directive: Thực hiện cấu hình các chỉ thị trước khi đọc file config

-c directive: Thực hiện cấu hình các chỉ thị sau khi đọc file config

-D parameter: Thiết lập một thông số cấu hình mà nó có thể sử dụng với cặp thẻ

<IfDefine> … </IfDefine> trong các file cấu hình để bỏ qua có điều kiện hoặc thực hiện các lệnh

Trang 20

Restart: Khởi động lại Apache deamon bằng cách gửi cho nó một SIGHUP Lệnh này tự động kiểm tra các file cấu hình qua văn bản cấu hình trước khi bắt đầu khởi động lại để chắc chắn rằng Apache vẫn còn đang hiện diện trong máy.Fullstatus: Hiển thị đầy đủ các báo cáo trạng thái từ mod_status Để lệnh này được thi hành, cần phải cho phép mod_status trên server và một trình duyệt text_based chẳng hạn như Lynx có sẵn trong hệ thống URL sử dụng nó để truy cập bản báo cáo trạng thái có thể được thiết lập bằng giá trị STATUSURL có sẵn trong script.

Status: Hiển thị ngắn gọn bảng trạng thái giống như chức năng fullstatus trừ phi danh sách các yêu cầu phục vụ thời bị bỏ quên

Configtest: Chạy một đoạn văn bản các cụ pháp của file cấu hình Nó phân tích các file cấu hình và các bảng Syntax Ok hoặc thông tin chi tiết về các lỗi cú pháp đặt biệt

Help: Hiển thị các thông báo lỗi được sắp xếp

APXS

Tên dòng lệnh:

apxs -g [ -S variable=value ] -n name

apxs -q [ -S variable=value ] query

apxs -i [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dsofile

apxs -e [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dsofile

Mô tả:

Là một công cụ để xây dựng và các đặt các mô đun mở rộng cho Apache HTTP server Được thực hiện bằng cách cài đặt một DSO từ một hay nhiều nguồn hoặc đối tượng file mà sau đó nó có thể nạp vào Apache trong thời gian chương trình đang chạy qua chỉ thị LoadModule từ mod_so

Để sử dụng kỹ thuật mở rộng này, máy tính của người sử dụng phải hỗ trợ DSO và Apache HTTPD nh? phân phải được xây dựng với mô đun mod_so

Trang 21

Công cụ apxs sẽ tự động nhắc nhở nếu là các trường hợp ngược lại Ta cần phải kiểm tra việc này bằng dòng lệnh:

$ httpd -l

mô đun mod_so phải có trong danh sách được hiển thị Nếu các yêu cầu này được thỏa mãn, thị có thể dễ dàng mở rộng các chức năng của Apache server bằng cách cài đặt các mô đun của mình với kỹ thuật DSO bằng công cụ apxs này

Ví dụ:

$ apxs -i -a -c mod_foo.c

gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c

ld -Bshareable -o mod_foo.so mod_foo.o

cp mod_foo.so /path/to/apache/libexec/mod_foo.so

chmod 755 /path/to/apache/libexec/mod_foo.so

[activating module `foo' in /path/to/apache/etc/httpd.conf]

$ apachectl restart

/path/to/apache/sbin/apachectl restart: httpd not running, trying to start

[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module

/path/to/apache/sbin/apachectl restart: httpd started

Các đối số File có thể là bất kỳ một file nguồn c (.c), file đối tượng (.o) hoặc ngay cả một thư việc lưu trữ (.a) Công cụ apxs tự động công nhận các phần mở rộng này và tử động sử dụng các file nguồn C cho việc biên dịch trong khi nó chỉ sử dụng các file đối tượng và lưu trữ cho giai đoạn liên kết Nhưng khi sử dụng nhiều đối tượng trước biên dịch , phải chắc chắn rằng chứng được liên kết cho PIC để có thể sử dụng chúng cho một DSO Cho ví dụ với GCC, người sử dụng luôn chỉ phải sử dụng -fpic Đối với các các biên dịch C khác yêu

Trang 22

cầu phải tham khảo tài liệu hướng dẫn của nó hoặc chờ đợi các cờ apxs, để biên dịch các file đối tượng.

Các đối số cụ thể của dòng lệnh:

- n name: Thiết lập tên mô đun cho chức năng -i (cài đặt) và -g (tạo khuôn mẫu)

Sử dụng nó để chỉ ra tên mô đun Chức năng -g là bắt buộc, chức năng -I thị có tác dụng khiến công cụ apxs cố gắng xác định tên từ nguồn hoặc ít nhất cũng đoán được từ tên file

-q : Thực hiện ruy vấn cho apxs về các cài đặt nào đó Tham số truy vấn có thể

là một hoặc nhiều các giá trị:

Sử dụng các chức năng này để hướng dẫn xác định các thông số cài đặt:

INC = I 'apxs -q INCLUDEDIR'

bên trong các Makefile nếu cần hướng dẫn các truy cập đến các file tiêu đề của Apache

-S variable = value: Chức năng này thay đổi các cài đặt apx đi kèm với các giá trị đặc biệt theo sau như:

" Chức năng tạo ra một khuôn mẫu:

-q: chức năng tạo ra một thư mục con và 2 file trong đó: Một file nguồn ví dụ

mô đun tên là mod_name.c mà nó có thể sử dụng như một khuôn mẫu cho việc tạo các mô đun của chính người sử dụng hoặc như một quá trình khởi động nhanh cho việc chạy các kỹ thuật apxs Và một mẫu thư Makefile với mục đích

là dễ tạo và cài đặt các mô đun này

" Chức năng biên dịch DSO:

Trang 23

-c : Chức năng này chỉ ra thao tác biên dịch Đầu tiên nó biên dịch các file nguồn C (.c) của files vào trong các file đối tượng tương ứng (.o) và sau đó cài đặt một DSO vào trong dsofile bằng cách liên kết các file đối tượng này cùng với các file đối tượng còn lại (.o và a) của files.

-o dsofile: Chỉ ra tên file của file DSO đã tạo Nếu không có sự chỉ định và tên file không thể đoán được từ bảng liệt kê các file, tên dự phòng mod_unknow.so được sử dụng

" Chức năng cài đặt và định dạng DSO:

-i : Chức năng này để chỉ thao tác cài đặt và cài đặt một hoặc nhiều hơn các DSO vào trong thư mục libexec của server

-a : Chức năng này để chỉ thao tác kích hoạt đến mô đun bằng cách tự động thêm vào một dòng LoadModule đến file cấu hình httpd.conf của Apache hoặc cho phép nó thực thi nếu đã tồn tại

-A : Chức năng này cũng giống như -a nhưng nó tạo một chỉ thị LoadModule được đặt thêm vào một dấu (#), có nghĩa là mô đun chỉ cho phép cho các thi hành ngay sau đó còn lúc đầu thị bị cấm

-e : Chức năng này dành cho thao tác hiệu chỉnh, có thể sử dụng kèm với chức năng -a và -A, cũng giống như chức năng -I: Thao tác hiệu chỉnh file cấu hình httpd.conf của Apache mà không cố găng cài đặt các mô đun

Ví dụ:

Giả sử người sử dụng đã có sẵn một mô đun Apache tên là mod_foo.c mà nó sẽ

mở rộng chức năng server của Apache Để làm việc đó, trước hết cần phải biên dịch một nguồn C vào trong một DSO phù hợp cho việc nạp vào trong Apache server Có thể sử dụng lệnh sau:

$ apxs -c mod_foo.c

gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c

ld -Bshareable -o mod_foo.so mod_foo.o

Trang 24

$ _

Sau đó tiến hành cập nhật cấu hình Apache bằng cách chắc chắn rằng một chỉ thị LoadModule được đưa ra để nạp DSO này Để đơn giản bước này, apxs cung cấp một cách tự động cách cài đặt DSO vào trong thư mục libexec và cập nhật file httpd.conf

LoadModule foo_module libexec/mod_foo.so

được thêm vào để cấu hình file nếu vẫn chưa được đưa ra Nếu muốn cấm thao tác này sử dụng thêm vào chức năng -A

$ apxs -i -A mod_foo.c

Để kiểm tra nhanh apxs, người sử dụng tạo ra một mẫu ví dụ mô đun Apache cùng với một thư từ Makefile bằng cách:

$ apxs -g -n foo

Creating [DIR] foo

Creating [FILE] foo/Makefile

Creating [FILE] foo/mod_foo.c

Trang 25

gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c

ld -Bshareable -o mod_foo.so mod_foo.o

apxs -i -a -n "foo" mod_foo.so

cp mod_foo.so /path/to/apache/libexec/mod_foo.so

chmod 755 /path/to/apache/libexec/mod_foo.so

[activating module `foo' in /path/to/apache/etc/httpd.conf]

apachectl restart

/path/to/apache/sbin/apachectl restart: httpd không chạy,cố gắng khởi động

[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): nạp foo_module

/path/to/apache/sbin/apachectl restart: httpd khởi động

Trang 26

PHP là ngôn ngữ có cú pháp gần giống Perl nhưng tốc độ dịch của nó được các chuyên gia đánh giá là nhanh hơn ASP 5 lần, chạy trên nhiều hệ điều hành như Unix, Window, Linux nó hỗ trợ kết nối các hệ cơ sở dữ liệu lớn như MySQL, ngoài ra nó còn được Apache hỗ trợ như là một modul cơ bản

a PHP là gì?

PHP (Personal Home Page) được giới thiệu năm 1994 bởi R.Lerdoft, như một bộ sưu tập của một ngôn ngữ chưa chặt chẽ dựa vào Perl và các công cụ của trang chủ Vì quá trình xử lý dựa trên máy chủ nên các trang Web được viết bằng PHP sẽ dễ nhìn hơn ở bất cứ hệ điều hành nào Nói một cách ngắn gọn: PHP là một ngôn ngữ lập trình kiểu script, chạy trên Server và trả về mã HTML cho trình duyệt Xu hướng sử dụng PHP trong việc thiết kế Web đang ngày càng phát triển trong giai đọan hiện nay và trong tương lai

Tới năm 1998, việc công bố phiên bản 3 thị PHP mới chính thức phát triển theo hướng tách riêng của mình Giống như C và Perl, lúc này nó đã là một ngôn ngữ lập trình có cấu trúc và tính năng đa dạng, chính vì thế đã khuyến khích các nhà thiết kế Web sử dụng PHP Nó có thể cung cấp một lượng cơ sở

dữ liệu khá đồ sộ gồm cả MySQL, mSQL, dbm, Hyperwave, Informix, Ocracle,

nó cũng có thể làm việc với các hình ảnh, các file dữ liệu, FTP, XML, và host của các kỹ thuật ứng dụng khác

Mã PHP được đặt trong một kiểu tag đặc biệt cho phép ta có thể vào hoặc

ra khỏi chế độ PHP, cú pháp của PHP cơ bản cũng giống như một số ngôn ngữ lập trình khác, đặc biệt là C và Perl

PHP được nhận dạng dưới 4 dạng phiên bản:

a.Ví dụ:

Trang 28

Tất cả chỉ có vậy, hệ thống sẽ tự động kết nối với kho phần mềm và tự động cài đặt và cấu hình.

Chú ý: Khi sử dụng các số thực tế để tính tóan, có thể làm mất giá trị của

nó Vì vậy, nên sử dụng các hàm tóan học trong thư viện chuẩn để tính toán

Xâu:

Có 2 cách để xác đinh 1 xâu: Đặt giữa 2 dấu nháy kép("") hoặc giữa 2 dấu nháy đơn ('').Chú ý là các biến giá trị sẽ không được khai triển trong xâu giữa 2 dấu ngoặc đơn

Trang 29

Có thể dùng các hàm asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), and uksort() để sắp xếp mảng Tùy thuộc vào việc sắp xếp theo kiểu gì.b.Mảng nhiều chiều: Tương tự như C, có thể dùng như VD sau:

$foo = "0"; // $foo là ký tự ASCII 48

$foo++; // $foo là xâu "1" (ASCII 49)

$foo += 1; // $foo là số nguyên (2)

$foo = $foo + 1.3; // $foo là số thực (3.3)

$foo = 5 + "10 Little Piggies"; // $foo là số nguyên (15)

Trang 30

ARGV: Mảng tham số truyền cho Script Khi đọan Script chạy bằng dòng lệnh, tham số này sẽ được dùng giống như C để truy nhập các tham số dòng lệnh.

ARGC: Số các tham số được truyền, dùng chung với ARGV

PHP_SELF: Tên của đọan mã Script đang thực hiện Nếu PHP đang được chạy từ dòng lệnh thị tham số này không có giá trị

HTTP_COOKIE_VARS: Một mảng các giá trị được truyền tới Script hiện tại bằng HTTP COOKIE Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặt hoặc chỉ dẫn <?php_track_vars?>

HTTP_GET_VARS: Một mảng các giá trị được truyền tới Script hiện tại bằng HTTP GET Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặt hoặc chỉ dẫn <?php_track_vars?>

HTTP_POST_VARS: Một mảng các giá trị được truyền tới Script hiện tại bằng HTTP POST Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặt hoặc chỉ dẫn <?php_track_vars?>

Phạm vi giá trị:

PHP coi 1 biến có một giới hạn Để xác định một biến toàn cục (global)

có tác dụng trong một hàm, ta cần khai báo la? Nếu không giá trị của biến sẽ được coi như là cục bộ trong hàm

Trang 31

Sum ();

echo $b;

Khi có khai báo global ở trên, $a và $b được cho biết đó là những biến toàn cục Nếu không có khai báo global, $a và $b chỉ được coi là các biến bên trong hàm Sum() Điều này khác với C Một cách khác để dùng biến toàn cục trong một hàm là ta dùng mảng $GLOBAL cuả PHP.Ví dụ trên có thể viết như sau:

Trang 32

Với khai báo như trên, $a sẽ không mất đi giá trị sau khi thực hiện lời gọi hàm Test() mà $a sẽ được tăng lên 1 sau mỗi lần gọi hàm Test().

echo "$a ${$a}";  echo "$a $hello";

Kết quả là : hello world

Chú ý: Có thể gặp phải trường hợp không rõ ràng khi sử dụng cách này với mảng VD: $$a[1] sẽ hiểu là dùng $a[1] như 1 biến hay dùng $$a như 1 biến với [1] là chỉ số? Để tránh trường hợp này, cần có sự phân biệt rõ bằng dấu {}

VD: ${$a[1]}hoặc ${$a}[1]

Các giá trị bên ngoài phạm vi PHP

HTML Form: Khi 1 form gắn với 1 file php qua phương thức POST

VD:

Trang 33

<form action="foo.php3" method="post">

Name: <input type="text" name="name"><br>

<input type="submit">

</form>

PHP sẽ tạo 1 biến $name bao gồm mọi giá trị trong trường Name cuả Form

PHP có thể hiểu được một mảng một chiều gồm các giá trị trong 1 Form

Vì vậy, ta có thể nhóm những giá trị liên quan lại với nhau hoặc sử dụng đặc tính này để nhận các giá trị từ 1 đầu vào tuỳ chọn

Khi tính chất track_vars được đặt trong cấu hình hoặc có chỉ dẫn <?php_track_vars?>, các giá trị được submit được lấy ra qua phương thức GET và POST có thể lấy từ 2 mảng toàn cục $HTTP_POST_VARS và

$HTTP_GET_VARS

IMAGE SUBMIT:

Khi dùng 1 image để thực hiện submit, có thể dùng tag như sau:

<INPUT TYPE=IMAGE SRC="IMAGE.GIF" NAME="SUB">

Khi người dùng click chuột trên ảnh, form tương ứng sẽ được gởi tới server kèm theo 2 giá trị thêm vào: sub_x và sub_y Những biến này sẽ lưu giữ tọa độ mà người dùng đã click chuột trên ảnh Người lập trình có kinh nghiệm sẽ thấy rằng trên thực tế, trình duyệt gửi các giá trị có chu kỳ thời gian nhưng PHP

đã tạo cảm giác gần như việc gửi các giá trị đó liên tục

HTTP COOKIES

PHP hỗ trợ HTTP Cookies theo định dạng của Netscape Cookies file lưu trữ thông tin của các trình duyệt từ xa và qua đó có thể theo do?i hay nhận biết

Trang 34

người sử dụng Có thể dùng Cookies bằng hàm SetCookie() Hàm này cần được gọi trước khi thông tin được gửi tới trình duyệt Bất kỳ cookie nào gửi tới người dùng từ máy khách (client) sẽ tự động chuyển thành dữ liệu của phương thức GET và POST.

Nếu muốn có nhiều giá trị trong 1 cookie, chỉ cần thêm vào dấu [ ] với tên cookie

VD:

SetCookie ("MyCookie[]", "Testing", time()+3600);

Chú ý rằng cookie sẽ thay thế cho cookie cùng tên, trừ trường hợp khác đường dẫn hoặc miền

BIẾN MÔI TRƯỜNG:

PHP tự động tạo biến cho các biến môi trường như 1 biến bịnh thường của PHP

VD :

echo $HOME; /* Shows the HOME environment variable, if set */

Vì thông tin tới qua các phương thức GET và POST, Cookie cũng tự động tạo các biến PHP, thỉnh thoảng ta nên đọc 1 biến từ môi trường để chắc chắn rằng mình có đúng version Hàm GETENV() và PUTENV() giúp ta đọc và ghi với các biến môi trường

DẤU CHẤM TRONG TÊN BIẾN

Bình thường, PHP không thay đổi tên biến khi biến đó được truyền vào đoạn Script Tuy nhiên, nên chú ý rằng dấu chấm (.) không phải là một ký hiệu

Trang 35

hợp lệ trong tên biến đối với PHP VÌ vậy, PHP sẽ tự động thay thế các dấu chấm bằng dấu gạch dưới.(_)

e Hằng Số:

PHP định nghĩa sẳn một vài hằng số:

_FILE_ : Tên của script file đang được thực hiện

_LINE_ : Số dòng của mã script đang được thực hiện trong script file hiện tại._PHP_VERSION_ : version của PHP

TRUE

FALSE

E_ERROR : Báo hiệu có lỗi

E_PARSE : Báo lỗi sai khi biên dịch

E_NOTICE : Một vài sự kiện có thể là lỗi hoặc không

E_ALL :

Có thể định nghĩa một hằng số bằng hàm define()

VD :

<?php

define("CONSTANT", "Hello world.");

echo CONSTANT; // outputs "Hello world."

?>

f Biểu Thức

Biểu thức là một phần quan trọng trong PHP Phần lớn mọi thứ ta viết đều được coi như là một biểu thức Điều này có nghĩa là mọi thứ đều có một giá trị

Trang 36

Một dạng cơ bản nhất của biểu thức là bao gồm các biến và hằng số.

PHP hổ trợ 3 kiều giá trị cơ bản nhất: Số nguyên, số thực, và xâu Ngoài ra còn

có mảng và đối tượng Mỗi kiểu giá trị này đều có thẻ gán cho các biến hay làm giá trị trả ra khỏi các hàm

Ta có thể thao tác với các biến trong PHP giống như trong C

if (điều kiện) { các lệnh thực thi; }

elseif ( điều kiện) { các lệnh thực thi;}

Trang 37

foreach(array_expression as $key => $value) statement

Break và continue:

Break: Thoát khỏi vòng lặp hiện thời

Continue: Bỏ qua vòng lặp hiện tại, tiếp tục vòng tiếp theo

Switch

switch (tên biến) {

case trường hợp 1: break;

case trường hợp 2: break;

case trường hợp 3: break;

Có hai loại cấu trúc điều khiển trong PHP: Ngôn ngữ điều kiện và Điều khiển theo một vòng khép kin

Hai loại cấu trúc trên chỉ có các lệnh không dùng dấu ngoặc, tuy nhiên các nhà lập trình thường sử dụng chúng để tạo mã dễ hiêủ hơn Các lệnh này thường được ứng dụng với cùng một lý do

Break: Có thể được dùng để kết thúc lệnh hiện thời Nó cũng có thể được

sử dụng để xoá bỏ For Loops và While Loops, Exit, xoá bỏ toàn bộ nhiệm vụ của ngôn ngữ lập trình Break còn được dùng ở bất kỳ đâu trong ngôn ngữ lập trình

h Hàm:

Trang 38

Dùng giống như C, ngoại trừ việc không cần phải khai báo kiểu cho tham

function makecoffee ($type = "cappucino") {

return "Making a cup of $type.\n";

function makeyogurt ($type = "acidophilus", $flavour) {

return "Making a bowl of $type $flavour.\n";

}

Đúng:

Trang 39

function makeyogurt ($flavour, $type = "acidophilus") {

return "Making a bowl of $type $flavour.\n";

}

Gía trị trả lại của hàm:

Có thể là bất kỳ giá trị nào Tuy vậy, không thể trả lại nhiều giá trị riêng lẻ nhưng có thể trả lại một mảng các giá trị

Trang 40

function bar( $arg = '' ) {

echo "In bar(); argument was '$arg'.<br>\n";

Các toán tử logic: And, Or, Xor ! && ||

Toán tử thao tác với bit: & | ^ ~ << >>

Toán tử so sánh: = =,!=, <, >, <=, >=,= = = = (bằng và cùng kiểu-Chỉ có trong PHP4), != = (khác hoặc khác kiểu-Chỉ có trong PHP 4)

Toán tử điều khiển lỗi: @ - Khi đứng trước 1 biểu thức thị các lỗi của biểu thức sẽ bị bỏ qua và lưu trong $php_errormsg

VD:

Ngày đăng: 28/05/2015, 16:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[04] Tô Thanh Hải, Phương Lan: Từng Bước Làm Chủ Ubuntu Linux, Lao động - Xã hội, 2008, (212 trang).b) Tài liệu nước ngoài.[05 PHP Manual, Copyright © 1997 - 2009 by the PHP Documentation Group Sách, tạp chí
Tiêu đề: b) Tài liệu nước ngoài
[07]Website: http://el.edu.net.vn, Website E-Lerning của Bộ giáo dục và Đào tạo Link
[08]Diễn đàn: http://diendan.edu.net.vn/, Diễn đàn trao đổi của ngành giáo dục Link
[01] Nguyễn Trường Sinh: Thực hành JavaScript (cho web), NXB Thống Kê, 2003 (215 trang) Khác
[02] Phạm Thị Nhung: Giáo Trình Lập Trình Web Với HTML Và JavaScript, Đại Học Quốc Gia TP.HCM, 2008, (168 trang) Khác
[03] Tiêu Đông Nhơn: Giáo Trình Hệ Điều Hành Linux, Đại Học Quốc Gia TP.HCM, 06/2008 (196 trang) Khác
[06]MySQL Manual, Copyright 1997-2008 MySQL AB, 2008 Sun Microsystems, Inc.c) Các nguồn tài liệu khác Khác

HÌNH ẢNH LIÊN QUAN

Bảng user (Quản lý thông tin của các thành viên trong hệ thống): - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Bảng user (Quản lý thông tin của các thành viên trong hệ thống): (Trang 67)
3.3.2. Sơ đồ thực thể (Sơ đồ liên kết dữ liệu) - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
3.3.2. Sơ đồ thực thể (Sơ đồ liên kết dữ liệu) (Trang 69)
Hình 9: Giao diện trang chủ. - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 9 Giao diện trang chủ (Trang 71)
Hình 10: Form đăng kí thành viên - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 10 Form đăng kí thành viên (Trang 72)
Hình 11: Hiển thị thông báo, tin tức từ Ban quản trị. - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 11 Hiển thị thông báo, tin tức từ Ban quản trị (Trang 73)
Hình 12: Hiển thị danh sách môn thi. - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 12 Hiển thị danh sách môn thi (Trang 74)
Hình 14: Form thực hiện bài thi - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 14 Form thực hiện bài thi (Trang 76)
Hình 16: Hiển thị thông tin liên hệ. - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 16 Hiển thị thông tin liên hệ (Trang 77)
Hình 17: Giao diện phần quản trị - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 17 Giao diện phần quản trị (Trang 78)
Hình 18: Form đăng kí mới thành viên. - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 18 Form đăng kí mới thành viên (Trang 79)
Hình 20: Giao diện quản lý chủ đề. - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 20 Giao diện quản lý chủ đề (Trang 80)
Hình 19: Form tạo chủ đề mới. - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 19 Form tạo chủ đề mới (Trang 80)
Hình 21: Form tạo bộ câu hỏi (Bộ đề thi). - Đồ án tốt nghiệp - Hệ thống trắc nghiệm Online
Hình 21 Form tạo bộ câu hỏi (Bộ đề thi) (Trang 81)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w