CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 TỔNG QUAN VỀ CÔNG NGHỆ WEB VÀ NGÔN NGỮ LẬP TRÌNH PHP(Tổng quan về công nghệ web) 1.1 Giới thiệu về ngôn ngữ lập trình PHP PHP (Hypertext Preprocessor) là một ngôn ngữ kịch bản (scripting language) mã nguồn mở được thiết kế đặc biệt cho việc phát triển các ứng dụng web. PHP được tạo ra vào năm 1994 bởi Rasmus Lerdorf và từ đó đã trở thành một trong những ngôn ngữ phổ biến nhất cho việc xây dựng các trang web động. PHP có thể nhúng trực tiếp vào mã HTML, điều này giúp việc phát triển web trở nên linh hoạt và dễ dàng hơn. Một số đặc điểm nổi bật của PHP bao gồm: Mã nguồn mở và miễn phí: PHP là phần mềm mã nguồn mở, nghĩa là mọi người có thể tự do tải về, sử dụng và sửa đổi.
Điều này giúp tiết kiệm chi phí và thúc đẩy cộng đồng lập trình viên đóng góp để cải tiến ngôn ngữ. Khả năng nhúng trực tiếp vào HTML: PHP có thể nhúng trực tiếp vào mã HTML, giúp việc phát triển web trở nên linh hoạt và dễ dàng hơn. Điều này cho phép các nhà phát triển tạo ra các trang web động nhanh chóng. Đa nền tảng: PHP có thể chạy trên nhiều hệ điều hành khác nhau như Windows, Linux, macOS, và nhiều hệ điều hành khác, mang lại sự linh hoạt trong việc triển khai ứng dụng trên nhiều môi trường.
Hỗ trợ nhiều cơ sở dữ liệu: PHP hỗ trợ kết nối với nhiều hệ quản trị cơ sở dữ liệu như MySQL, PostgreSQL, Oracle, SQLite, và nhiều hệ thống khác, giúp các nhà phát triển dễ dàng tích hợp và quản lý dữ liệu. Thư viện phong phú và cộng đồng mạnh mẽ: PHP có một kho thư viện và framework phong phú, như Laravel, Symfony, CodeIgniter, giúp các nhà phát triển dễ dàng tích hợp các chức năng vào ứng dụng của mình. Ngoài ra, cộng đồng PHP rất mạnh mẽ và hỗ trợ tốt, giúp giải quyết các vấn đề kỹ thuật nhanh chóng. PHP được sử dụng rộng rãi trong các dự án web từ nhỏ đến lớn, từ các trang web cá nhân cho đến các ứng dụng doanh nghiệp phức tạp.
Một số trang web nổi tiếng sử dụng PHP bao gồm Facebook, Wikipedia, WordPress, và nhiều trang web thương mại điện tử. 9 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 một trình duyệt: Khi người dùng truy cập website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử lý chúng theo các hướng dẫn được mã hoá. Mã lệnh PHP yêu cầu máy chủ gửi một dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt web. Trình duyệt xem nó như là một trang HTML tiêu chuẩn.
Như đã 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 là HTML. Phần mở rộng của PHP được đặt trong cặp thẻ <?php ?>. Khi trình duyệt truy cập vào một trang PHP, phía server sẽ đọc nội dung file PHP và lọc ra những đ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 sẽ trả về kết quả cuối cùng là một trang nội dung HTML về cho trình duyệt.1 Các loại thẻ PHP Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trong PHP: a. Thẻ tiêu chuẩn (Standard Tags): Đây là thẻ mặc định mà các nhà lập trình PHP thường sử dụng được bao bọc bởi <?php ?>.
Ví dụ: <?php echo “Hello World”; ?> b. Thẻ ngắn (Short Tags): Thẻ ngắn là cách viết tắt của thẻ tiêu chuẩn, bắt đầu bằng <? và kết thúc bằng ?>. Cần lưu ý rằng việc sử dụng thẻ ngắn có thể bị vô hiệu hóa trong một số cấu hình PHP (bằng cách thiết lập short_open_tag). Ví dụ: <? echo “Hello World”; ?> c.
Thẻ ASP (ASP Tags): Thẻ ASP bắt đầu bằng <% và kết thúc bằng %>. Thẻ này không được sử dụng rộng rãi và có thể không được hỗ trợ trong các phiên bản PHP hiện đại. 10 Ví dụ: <% echo “Hello World”; %> d. Thẻ Script (Script Tags): Sử dụng PHP như một script tương tự khai báo Java Script hay VB Script bắt đầu bằng <script language=”php”> và kết thúc bằng </script>.
Ví dụ: <script language=”php”> echo “Hello World”; </script> 1.2 Các kiểu dữ liệu Dữ liệu đến từ Script đều là biến PHP, nhận biết bằng cách sử dụng dấu $ trước tên biến: Số nguyên: Được khai báo và sử dụng giống như trong ngôn ngữ lập trình C. Số nguyên có thể là số dương, số âm hoặc số 0. Số thực: Được khai báo với phần thập phân hoặc sử dụng ký hiệu khoa học (e). Xâu: Có hai cách để xác định một xâu ký tự trong PHP: đặt giữa hai dấu ngoặc kép (") hoặc giữa hai dấu ngoặc đơn (').
Khi sử dụng ngoặc kép, PHP sẽ phân tích cú pháp và thay thế các biến bên trong xâu. Khi sử dụng ngoặc đơn, PHP sẽ giữ nguyên nội dung bên trong. Mảng: gồm mảng 1 chiều và mảng 2 chiều o Mảng 1 chiều: Một danh sách các phần tử có thứ tự. Các phần tử có thể được truy cập bằng cách sử dụng chỉ số (index).
Mảng có thể được tạo ra bằng cách sử dụng hàm array() hoặc cú pháp mảng mới hơn []. o Mảng 2 chiều: Một mảng trong đó mỗi phần tử là một mảng con. Nó có thể được coi như một bảng với các hàng và cột. Mảng 2 chiều có thể được truy cập bằng cách sử dụng chỉ số của hàng và cột.3 Biến – Giá trị Một số biến được khai báo sẵn HTTP_GET_VARS: Mảng các giá trị nguyên truyền tới script thông quaphương thức HTTP GET.
Chỉ có tác dụng nếu “track_vars” .Trong cấu hình được đặthoặc chỉ dẫn <? Php_track_vars?>. HTTP_POST_VARS: Mảng các giá trị nguyên truyền tới script thông qua phương thức HTTP POST. 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ặcchỉ dẫn <?php_track_vars?>.
Phạm vi giá trị 11 PHP coi một biến có một giới hạn. Để xác định một biến toàn cục (global) có tácdụng trong một hàm ta cần khai báo lại. Nếu không có giá trị của biến sẽ được coi như là cục bộ trong hàm. Ví dụ: $a=1;$b=2; Function Sum(){ Global $a, $b; } Khi có khai báo global, $a và $b được biết đó là những biến toàn cục.
Nếukhông có khai báo global, $a và $b chỉ được coi là các biến bên trong hàm Sum(). Tên biến Một tên biến có thể gắn với 1 chuỗi ký tự Ví dụ: $a = “Hello World”; echo “$a” => kết quả: Hello World 1.4 Các giá trị bên ngoài phạm vi PHP HTML Form: Khi 1 giá trị gắn với một file php qua phương thức POST Ví dụ: <form action=”index.php” method=”POST”> <input type=”text” name=”user”> <input type="submit” name=”btnSub”> </form> PHP sẽ tạo 1 biến $user bao gồm mọi giá trị trong trường name của form. PHP có thể hiểu được một mảng một chiều gồm các giá trị trong form.5 Hằng // PHP định nghĩa sẵn các hằng số: _FILE_: Tên script file đang thực hiện. _LINE_: Số dòng của mã script đang thực hiện.
_PHP_VERSION_: phiên bản PHP đang chạy. 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ỗi hoặc không.
Có thể định nghĩa một hằng số bằng hàm define().6 Biểu thức Biểu thức là một thành phần quan trọng trong PHP. Một dạng cơ bản nhất của biểu thức 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 có thể gán cho các biến hay làm giá trị ra của các hàm.7 Cấu trúc lệnh Toán tử số học, so sánh: Toán tử số học: Ký hiệu Ý nghĩa Ví dụ + Cộng $total =$a + $b - Trừ $total =$a - $b * Nhân $total = $a * $b / Chia $total = $a / $b % Chia lấy dư $total = $a % $b ++ Biến tăng thêm 1 $a++ -- Biến giảm đi 1 $b-- Toán tử so sánh: Ký hiệu Ý nghĩa Dạng Ví dụ = Gán giá trị Gán $n = 1 == Bằng So sánh $x == $y != Khác So sánh $x != $y > Lớn hơn So sánh $x > $y < Nhỏ hơn So sánh $x < $y >= Lớn hơn hoặc bằng So sánh $x >= $y <= Nhỏ hơn hoặc bằng So sánh $x <= $y ! Phủ định Logic !$x && AND Logic $x && $y || OR Logic $x || $y Điều kiện If-Elseif-Else <?php if ($Điều kiện 1){ //Các câu lệnh thực thi nếu điều kiện đúng } elseif ($Điều kiện 2){ //Các câu lệnh thực thi nếu điều kiện 2 đúng } else { //Các câu lệnh thực thi nếu điều kiện 1 và 2 sai } 13 ?> Swich-Case PHP còn có một dạng câu lệnh điều kiện nữa là Swich, câu lệnh này rất phù hợp cho việc thay thế nếu câu lệnh if-elseif-else quá dài. Cú pháp của câu lệnh switch như sau: <?php switch ($variable) { case 'giá trị 1': # code. break; case 'giá trị 2': # code. break; default: # code.
break; } ?> Vòng lặp While: Thực thi khối lệnh trong While cho đến điều kiện của While là True như cú pháp: <?php While($Biểu thức điều kiện){ //Khối lệnh } ?> Vòng lặp Do…While: <?php 14 do { // code. } while ($Biểu thức điều kiện); ?> Vòng lặp For: <?php for ($expr1; $expr2; $expr3){ //Câu lệnh xử lý } ?> o $expr1: Biểu thức được thực thi một lần khi bắt đầu vòng lặp. Thường dùng để gán giá trị cho ban đầu cho vòng lặp. o $expr2: Là biểu thức điều kiện để chạy vòng lặp.
Nếu trả về giá trị TRUE thì tiếp tục chạy, ngược lại trả về FALSE kết thúc vòng lặp. o $expr3: Biểu thức này được thực thi vào cuối mỗi vòng lặp. Vòng lặp Foreach: Vòng lặp foreach được sử dụng để lặp qua từng phần tử của một mảng. Cú pháp của vòng lặp foreach cho mảng tuần tự và mảng kết hợp như sau: <?php foreach ($array as $value) { // Các câu lệnh xử lý với $value } ?> Exit: Thoát khỏi vòng lặp hoặc điều kiện.
Hàm: Hàm trong PHP là một khối mã được đặt tên, có thể được tái sử dụng nhiều lần trong chương trình. <?php function functionName($param1, $param2, ., $paramN) { 15 // Các câu lệnh thực thi return $result; // Trả về giá trị (nếu có) } ?> SESSION SESSION là một cách để lưu trữ thông tin (biến) để sử dụng trên nhiều trang. Ví dụ: <?