Chương trình php đầu tiên
-----------------------------------
Bắt đầu với 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:
PHP Code:
Code
<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:
PHP Code:
Code
<HTML>
<BODY>
<?php
echo ("hello, world");
?>
</BODY>
</HTML>
Đ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 Code:
Code
<?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:
PHP Code:
Code
<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ả:
Code
"<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 Code:
Code
<?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 đủ: ******X");
echo ("Ngày sinh: ***X");
?>
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 Code:
Code
<?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 Code:
Code
<?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 Code:
Code
<?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.
---------------------------------
From: phpvn.org