Chương trình PHP đầu tiên: Hello World! pps

17 258 0
Chương trình PHP đầu tiên: Hello World! pps

Đ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

Bài 4: Chương trình PHP đầu tiên: Hello World! I. Khởi đầu Nếu các bạn đã từng học lập trình, chắc các bạn cũng biết được "Hello world!" là cái gì, còn nếu bạn nào chưa biết, thì tôi sẽ giải thích ngay đây: "Hello world!" là một chương trình dành cho những người mới bắt đầu học một ngôn ngữ lập trình nào đó. Chương trình này đơn giản chỉ viết duy nhất một dòng chữ "Hello world!" ra màn hình. Các bạn có thể bỏ qua nó nếu đã biết từ trước, còn nếu bạn nào chưa học, thì chúng ta bắt tay vào viết chương trình này bằng PHP nhé. Hãy mở NotePad ra, gõ vào nội dung sau: Trích: <HTML> <BODY> <?php echo ("Hello world!"); ?> </BODY> </HTML> OK, Save lại với cái tên test.php. Copy nó vào thư mục gốc (Root Directory) mặc định của Web server. Khởi động Web server Apache lên (nó sẽ hiển thị một cửa sổ đen ngòm, bạn cứ để đó, đừng tắt nó đi, vì nếu tắt đi thì tức là bạn đã tắt chương trình Web server Apache đi rồi đấy). Bây giờ mở trình duyệt ra, tại ô địa chỉ, gõ nội dung sau: "http://127.0.0.1/test.php" (nhớ bỏ hai dấu ngoặc kép đi nhé) Nó sẽ hiển thị ra cửa sổ trình duyệt với duy nhất dòng chữ Hello world! Chắc bạn thất vọng lắm hả? Vâng, nó chỉ có mỗi dòng chữ "Hello world!" trên màn hình trình duyệt, mà bạn có thể làm nó đơn giản hơn rất nhiều, chẳng cần đến cái PHP kia. OK. Đừng thất vọng vội. Chương trình này hoạt động như thế nào? Trước tiên chúng ta hãy tìm hiểu cách thức hoạt động của hệ trình duyệt (Web Client) và máy chủ cung cấp dịch vụ Web (Web server ) đã nhé: Bước 1: Trình duyệt gửi một yêu cầu HTTP đến máy chủ, yêu cầu một file nào đó Bước 2: Máy chủ sẽ chuyển yêu cầu này đến chương trình xử lý tương ứng, chính là chương trình Web server. Bước 3: Web server phân tích chuỗi yêu cầu nhận được, kiểm tra xem trình duyệt ở máy khách yêu cầu gì. Nếu đó là các file bình thường (không phải là các file chứa các đoạn mã script thực thi phía máy chủ), nó sẽ tìm kiếm file đó và trả về cho trình duyệt ở máy khách. Còn nếu đó là các file chứa các đoạn mã script thực thi phía máy chủ (các chương trình CGI, hay các file thư viện liên kết động ISAPI, hoặc các file *.asp hay *.php), nó sẽ triệu gọi chương trình thực thi các đoạn mã này. Chương trình này sẽ chịu trách nhiệm chạy các đoạn mã, trả chúng về cho Web server dưới khuôn dạng của HTML. Sau đó, Web server mới trả kết quả lấy được cho trình duyệt. Như vậy, chương trình của bạn phải được thực thi trên máy chủ, sau đó mới được trả về cho trình duyêt. Và đây chính là cái gọi là "Trang Web động". Không như các trang web tĩnh, trang web động cho phép bạn có sự tương tác với máy chủ thông qua các đoạn script thực thi phía server. Nhờ có sự tương tác này, bạn có thể truy xuất cơ sở dữ liệu, lấy thông tin người sử dụng, điều khiển các hoạt động khác OK. Bây giờ chắc bạn đã có được chút ít kiến thức với các hệ thống điều khiển Web Client - Server rồi. Đến lượt chúng ta bắt đầu phân tích chương trình đầu tiên kia. II. Phân tích chương trình Quay trở về đoạn mã trên. Điều đầu tiên các bạn cần phải biết, đó là các đoạn mã thực thi PHP luôn luôn được đặt trong thẻ <?php ?>. Chương trình xử lý phía máy chủ sẽ chỉ thực thi các đoạn mã nằm trong thẻ này. Tất cả các đoạn mã khác nằm ngoài thẻ trên đều không được xử lý trực tiếp trên server mà được đưa về trình duyệt. <?php // Đoạn mã PHP đặt ở đây ?> Điều thứ 2 bạn cần biết là chương trình của bạn phải được đặt trong các file *.php. Nếu bạn đặt nó vào file khác, thì đừng mong nó chạy nhé, vì nguyên tắc của chương trình Web server là chỉ triệu gọi các chương trình xử lý tương ứng với các file có đuôi xác định trước. Điều thứ 3 bạn cần biết là trong file *.php của bạn, ngoài các đoạn script PHP, bạn có thể đặt bất kỳ cái gì theo khuôn dạng HTML, kể cả các đoạn JavaScript chạy trên máy khách. Tức là ngoại trừ các đoạn script PHP ra thì nó không khác gì một file HTML thông thường Điều thứ 4 các bạn cần biết, là chúng ta có thể đặt nhiều đoạn mã xử lý PHP khác nhau trong cùng một file PHP. Các đoạn mã PHP này sẽ được thực thi lần lượt từ đầu file xuống dưới. Hãy xem ví dụ sau: Trích: <HTML> <BODY> <?php echo ("Hello world!"); ?> <BR> Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi <?php echo ("<p align=right> CMXQ </p>") ?> </BODY> </HTML> Khởi đầu, chương trình xử lý phía Web server sẽ phân tích file PHP này, trả về đoạn mã <HTML> <BODY> Tiếp theo, khi thấy đoạn mã thứ nhất, nó sẽ thực thi và trả về dòng "hello, world" (Dòng này do hàm echo() của PHP thực hiện). Sau đó, nó tiếp tục trả về các dòng <BR> Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi Đến khi gặp đoạn PHP thứ 2, nó sẽ thực thực thi đoạn mã thứ 2 này (gọi hàm echo()) và trả về kết quả: "<p align=right> CMXQ </p>" Hết đoạn mã thứ 2. Nó sẽ gửi tiếp phần còn lại của file về cho Web server. Sau đó, Web server chính thức trả toàn bộ kết quả về cho trình duyệt. Điều quan trọng cuối cùng: Kết thúc mỗi câu lệnh của PHP đều là một dấu chấm phẩy (";"), ngoại trừ một vài trường hợp (các bạn sẽ được biết sau này) Bây giờ tôi xin giải thích cách sử dụng hàm duy nhất trong bài này: echo() Hàm echo được sử dụng để trả về nội dung của các biến, hằng, chuỗi cho trình duyệt. Ở ví dụ trên, hàm echo trả về chuỗi "hello, world" và chuỗi "<p align=right> Le Nguyen Sinh </p>". Các thẻ HTML trong chuỗi sẽ được giữ nguyên khi nó được đưa về trình duyệt, và nó sẽ được xử lý như các thẻ HTML khác. III. Một số lưu ý Dấu chú thích: Các đoạn chú thích rất hữu dụng trong các chương trình của bạn (chẳng hạn muốn chú thích câu lệnh này làm gì, đoạn chương trình này làm gì ). Khi phân tích mã PHP, các đoạn chú thích sẽ bị bỏ qua, nhưng một lập trình viên thì không bao giờ bỏ qua chúng Chúng ta có thể sử dụng một số dấu chú thích sau trong PHP: // dòng văn bản chú thích (chỉ áp dụng trên một dòng) /* Đoạn văn bản chú thích */ (nằm trong cặp /* và */ Lưu ý rằng các dấu chú thích này chỉ có hiệu lực trong các đoạn mã nhúng PHP thôi đấy nhé Ví dụ <?php echo("Tôi là một oan hồn vô danh"); // Hiển thị lời giới thiệu lên màn hình echo (" Sơ yếu lý lịch"); /* Hiển thị bản sơ yếu lý lịch Copyright © by CMXQ */ echo ("Tên đầy đủ: XXXXXXX"); echo ("Ngày sinh: XXXX"); ?> Ký tự giải phóng Hãy chú ý đến dòng chữ sau: My name's "CMXQ" Để in nó ra màn hình, chắc các bạn sẽ làm như sau: <?php echo("My name's ""CMXQ""); ?> Rất tiếc là bạn đã nhầm. PHP có quy định một số ký tự đặc biệt (Dấu ngoặc kép (") là một trong các ký tự đó). Một vài phiên bản của web server khi gặp lỗi này đã không thực hiện nữa, và thông báo lỗi đến người dùng. Còn trong một vài phiên bản khác, nó sẽ tự động chèn một dấu sượt chéo (/) trước ký tự gây lỗi này. Một dấu gạch chéo (\) trước ký tự gây lỗi khiến cho nó được đối xử như là một ký tự thông thường, không phải là ký tự đặc biệt. Ký tự này (\) được gọi là ký tự giải phóng (Escaping character). Đoạn mã đúng như sau: <?php echo ("My name's: \"CMXQ\""); ?> Dưới đây là một số các ký tự đặc biệt mà có thể được chỉ rõ với ký tự giải phóng gạch chéo Ký tự nối tiếp Nghĩa \' Dấu móc lửng (') \" Dấu móc kép (") \\ Dấu gạch chéo (\) \$ Dấu $ \n Ký tự tạo dòng mới \r Ký tự về đầu dòng \t Ký tự Tab Hãy xem ví dụ dưới đây (yêu cầu bạn tự tìm hiểu và phân tích mã nguồn) <?php $name="Tiến Tùng"; echo("Giá trị của biến \$name là $name); ?> OK. Đến bây giờ, bạn đã biết một chút về PHP rồi đấy. Hãy viết vài chương trình PHP, sử dụng hàm echo đi đã nhé . Nhớ chú ý cách thức xử lý các kết quả trả về. Hẹn gặp lại các bạn trong bài sau. Chúc các bạn thành công! OK, bây giờ chúng ta chuẩn bị làm việc với các câu lệnh "xương sống" của một ngôn ngữ lập trình. Nếu bạn nào đã từng học qua một ngôn ngữ lập trình nào đó, thì các bạn có thể đọc lướt qua phần này. Còn nếu bây giờ bạn mới bắt đầu tiếp xúc với một ngôn ngữ lập trình thì hãy chuẩn bị tinh thần đi Các câu lệnh trong ngôn ngữ lập trình Để lập trình giải một bài toán nào đó, chúng ta phải sử dụng các câu lệnh sau: 1. Lệnh gán: được sử dụng để đặt một giá trị vào một biến nào đó. 2. Lệnh rẽ nhánh: Được sử dụng để xác định xem chương trình sẽ thực hiện công việc gì trong điều kiện ra sao 3. Lệnh lặp: Cho phép chương trình của bạn tự động lặp lại các thao tác nào đó Quá trình xây dựng các bước để thực hiện một bài toán nào đó, gọi là quá trình xây dựng thuật giải. Ví dụ: Hãy tưởng tượng bạn đang nhậu Bước 0: chưa có ai say rượu Bước 1: Kêu chủ quán cho một chai "cuốc lủi" (tạm thời là lệnh gán) Bước 2: Khi còn chưa hết chai thì nhày sang bước 3: Bước 3: Mỗi thằng một chén, trăm phần trăm Bước 4: Nếu thằng nào xỉn, thì loại nó ra khỏi trận chiến (lệnh rẽ nhánh) Bước 5: Nếu tất cả đều xỉn: tàn cuộc (lệnh rẽ nhánh), còn nếu không thì tiếp tục Bước 6: Nếu hết một chai thì nhảy về bước 1 (Lệnh lặp) OK, đến giờ thì chắc bạn đã hiểu qua một chút. Bây giờ chúng ta sẽ ứng dụng chúng vào PHP. Phần về các câu lệnh cơ bản trong PHP được chia làm 2 bài là Các câu lệnh rẽ nhánh và các câu lệnh lặp. Bài này tập trung vào việc xử lý câu lệnh gán và rẽ nhánh. 1. Lệnh gán Lệnh này đã được học ở bài trước: Cú pháp: $ten_bien = gia_tri; Ví dụ: $ngay_sinh="1/4/1980"; $que_quan="Thanh Hoa"; $luong=300000; 2. Các câu lệnh rẽ nhánh Trong PHP có 2 dạng rẽ nhánh: rẽ hai nhánh (if) và rẽ nhiều nhánh. Lệnh rẽ nhánh là một trong những câu lệnh quan trọng nhất của tất cả các ngôn ngữ lập trình. Nó cho phép bạn thực thi một đoạn mã khi mà điều kiện chỉ định là đúng. Trong PHP, lệnh rẽ nhánh có dạng sau: if (điều kiện) { công việc cần làm } Ví dụ: if ($name="Sinh") { echo ("Good morning, my boss"); } Nếu khối câu lệnh cần làm chỉ bao gồm duy nhất một dòng lệnh, ta có thể bỏ cặp dấu {} : if ($name="Sinh") echo ("Good morning, my boss"); Nhưng nếu nhiều hơn một dòng lệnh, ta phải đưa chúng vào cặp dấu ngoặc {}: if ($name=="Sinh") { echo ("Good morning, my boss"); echo ("Have a romantic day!"); } Đoạn lệnh trên sẽ kiểm tra nếu điều kiện biến $name = "Sinh" thì nó sẽ hiển thị lời chào. Còn nếu không thì nó không làm gì cả! Điều kiện đặt vào có thể là đúng, có thể là sai, có thể là tổng hợp của nhiều điều kiện. Hãy xem ví dụ sau: if ("false" ) echo ("Khong co gi ca"); if (($name=="sinh") && ($pass=="test")) echo ($name. "đã nhập đúng password"); Đoạn lệnh trên có thể viết tương đương với: if ($name=="sinh") { if ($pass=="test") echo ($name. "đã nhập đúng password"); } Như bạn thấy ở trên, trong một câu lệnh, chúng ta có thể chèn nhiều đoạn lệnh khác, người ta gọi đó là cấu trúc khối, tức là trong một khối lệnh, có thể có chứa nhiều khối lệnh con khác. Nếu bạn phải đọc mã nguồn của người khác, hi vọng bạn không bị hoa mắt vì hàng chục khối lệnh chen chúc vào nhau như vậy. Chúng ta có thể sử dụng các toán tử &&, || hay xor để kết nối các điều kiện với nhau như bạn thấy ở trên Câu lệnh rẽ nhánh đầy đủ: Nếu điều kiện kiểm tra trả về false (sai), PHP cho phép chúng ta chỉ định thực thi một khối mã lệnh khác bằng từ khoá else Ví dụ: if (($name=="sinh") && ($pass=="test")) { echo ("Good day, ".$name); } else { echo {"Sai mat khau!") } Chú ý đến một ngoại lệ sau: Trước từ khoá else không bao giờ có dấu chấm phẩy (. Lệnh rẽ nhiều nhánh: Với câu lệnh if, PHP cho phép chúng ta rẽ nhiều nhánh thông qua từ khoá elseif: if (dieu_kien1) { doan_lenh_1; } elseif (dieu_kien_2) { doan_lenh_2 } elseif (dieu_kien_3) } // bao nhiêu từ khoá elseif cũng được else { doan_lenh_n } Ví dụ: if ($thu==2) { echo ("Chao co, van, su, ly"); } elseif ($thu==3) { echo (" Hoa, Sinh, Dia, GDCD"); } elseif ($thu==4) { echo ("KTCN, Van, Toan, Tieng Anh"); } elseif ($thu==5) { echo (" Hoa, Toan, Van, Tin"); } elseif ($thu==6) { echo ("Toan, Van, Anh, Sinh hoat"); } else { echo ("Duoc di choi"); } Trong ví dụ trên, chúng ta đã lặp đi lặp lại thao tác kiểm tra giá trị của biến $thu, mặc dù nó không thay đổi qua các dòng. Để khắc phục sự dài dòng này, PHP cho phép ta sử dụng câu lệnh switch. Câu lệnh này sẽ được sử dụng để kiểm tra khi muốn xem xét qua nhiều giá trị của một biến: switch ($bien){ Case gia_tri 1: doan_lenh_1; Case gia_tri 2: doan_lenh_2; Case gia_tri n: doan_lenh_n; default: doan_lenh_khac; } Ví dụ: switch ($thu){ case 2: echo ("Chao co, van, su, ly"); case 3: echo (" Hoa, Sinh, Dia, GDCD"); case 4: echo ("KTCN, Van, Toan, Tieng Anh"); case 5: echo (" Hoa, Toan, Van, Tin"); case 6: echo ("Toan, Van, Anh, Sinh hoat"); default: echo ("Duoc di choi"); } Câu lệnh switch sẽ ước lượng giá trị của biến $thu, và so sánh nó với giá trị của mệnh đề case. Khi một giá trị hợp lệ được tìm thấy, nó sẽ thực hiện câu lệnh tương ứng với giá trị đó. Còn nếu không, nó sẽ tự động thực hiện câu lệnh trong mệnh đề default. Hãy chú ý rằng mệnh đề defaul là tuỳ chọn (bạn có thể có nó hoặc không cần nó) [...]... (function), nguyên nghĩa tiếng Anh có nghĩa là chức năng Trong lập trình, ta có thể hiểu hàm là một đoạn chương trình được xây dựng để thực hiện một chức năng nào đó Đoạn chương trình này chỉ cần phải viết duy nhất một lần, và có thể được sử dụng nhiều lần trong toàn bộ chương trình Một hàm sẽ được xác định bởi tên hàm và các tham số đầu vào liên quan đến hàm đó Thông thường, hàm sẽ trả về một kết quả... Trích: Tham số đầu vào 1 | Tham số đầu vào 2 | Tham số đầu vào 3 | -> tên hàm > kết quả trả về sau khi gọi hàm | Tham số đầu vào n | Như vậy một hàm sẽ nhận các thông tin đầu vào, xử lý nó và trả về kết quả nào đó Trong PHP có rất nhiều hàm đã được xây dựng sẵn mà chúng ta chỉ việc đem ra sử dụng, như các hàm xử lý chuỗi, thời gian, xử lý tệp, thư mục Xét về bản chất, một ngôn ngữ lập trình chỉ có... quả gọi là một thuật toán (các bước để giải một bài tóan, đã được đề cập ở những bài đầu tiên) hay giải thuật Và một chương trình sẽ là sự kết hợp của giải thuật và các cấu trúc dữ liệu Để hỗ trợ các chương trình xử lý một số tình huống nào đó, người ta sử dụng các hàm Các câu lệnh write của Pascal hay câu lệnh echo của PHP thực chất phải được gọi là các hàm chứ không phải là một câu lệnh Để giải thích... bieu_thuc_2; bieu_thuc_3): // Khối câu lệnh endfor; Ví dụ: < ?php for ($i=1; $i < ?php endfor ?> OK, Như vậy các bạn đã học qua các lệnh cơ bản nhất của php, và cũng là các lệnh cơ bản của tất cả các ngôn ngữ lập trình (gán, rẽ nhánh và lặp) Sau này nếu phải triển khai trên các ngôn ngữ lập trình khác, cách viết các lệnh này có thể khác nhau, nhưng bản... "câu lệnh" echo quen thuộc: Hàm echo(chuỗi) có tên là echo, tham số đầu vào là một chuỗi, và chức năng (kết quả mà nó trả về) là một dòng chữ (được lưu trong biến chuỗi) được trả về trình duyệt II Các hàm dựng sẵn và các hàm do người dùng tự xây dựng Các hàm dựng sẵn trong PHP (PHP Built-in functions) là các hàm đã được các nhà phát triển PHP cài đặt sẵn, và chúng ta chỉ việc đem ra sử dụng Cần phân biệt... dùng tự xây dựng chỉ có thể được dùng trong chương trình có chứa hàm đó Khi chuyển qua một ứng dụng khác, nếu chúng ta không viết lại các hàm đó thì chúng ta sẽ không thể sử dụng Một điểm mà tôi rất thích sử dụng PHP đó là PHP có một thư viện các hàm dựng sẵn vô cùng phong phú, đáp ứng được hầu hết nhu cầu phát triển các ứng dụng web Đó chính là lý do vì sao mà PHP được ưa chuộng hơn hẳn so với ASP (chỉ... lớn kinh khủng, và chương trình của chúng ta sẽ tính toán n giai thừa, với số n được gửi đến theo địa chỉ url: Nhanhoa.com - Offline (ở đó x là một số do người dùng tự nhập) Do giai thừa là một con số cực kỳ lớn, nên chúng ta chỉ cho phép người dùng tính đến tối đa là 8 giai thừa chẳng hạn Nếu họ nhập lớn hơn 8 thì sao? Hãy xem đây: < ?php // Ghi lai voi ten file la giaithua .php $giaithua=1; $i=1;... 8 giai thừa, còn nếu nhỏ hơn thì vẫn chạy tốt c) Vòng lặp for Vòng lặp for, với ý nghĩa đầu tiên là lặp với số lần định trước, có cấu trúc như sau: for ( $biến = giá_trị _đầu; $biến < (hay . Bài 4: Chương trình PHP đầu tiên: Hello World! I. Khởi đầu Nếu các bạn đã từng học lập trình, chắc các bạn cũng biết được " ;Hello world!& quot; là cái gì, còn nếu. đây: " ;Hello world!& quot; là một chương trình dành cho những người mới bắt đầu học một ngôn ngữ lập trình nào đó. Chương trình này đơn giản chỉ viết duy nhất một dòng chữ " ;Hello world!& quot;. lượt chúng ta bắt đầu phân tích chương trình đầu tiên kia. II. Phân tích chương trình Quay trở về đoạn mã trên. Điều đầu tiên các bạn cần phải biết, đó là các đoạn mã thực thi PHP luôn luôn được

Ngày đăng: 01/08/2014, 17:21

Tài liệu cùng người dùng

Tài liệu liên quan