Bài giảng Lập trình mạng - Chương 9: Lập trình web chạy ở server bằng PHP

 PHP (Pre HyperText Processor) là ngôn ngữscript chạy ởmáy server.

ƒ PHP dùng cú pháp giống nhưC++.

ƒ Hiện PHP có thểchạy trên nhiều HĐH khác nhau từWindows, Linux,

OS2, MacOS,.

ƒ Ý tưởng là viết module thông dịch source PHP và "hook" vào

Webserver.

ƒ PHP cung cấp rất nhiều nhóm hàm API ₫ểtiện lập trình trên nhiều lĩnh

vực khác nhau, trong ₫ó nhóm các hàm API "odbc_x" cho phép truy

xuất ₫ến database bất kỳtheo chuẩn giao tiếp ODBC.

ƒ Qui trình cài ₫ặt và cấu hình chế ₫ộlàm việc cho PHP phụthuộc vào

HĐH mà ta muốn cài PHP. Trên Windows (IIS, PWS), bạn chỉ cần chạy

trình installer.exe rồi trảlời trực quan 1 sốcửa sổWizard.

pdf19 trang | Chia sẻ: NamTDH | Lượt xem: 1051 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Lập trình mạng - Chương 9: Lập trình web chạy ở server bằng PHP, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 359 Môn học : Lập trình mạng Chương 9 LẬP TRÌNH WEB CHẠY Ở SERVER BẰNG PHP Chương 9 : Lập trình Web chạy ở server dùng PHP 9.1 Tổng quát về PHP 9.2 Cách viết script PHP 9.3 Thí dụ xây dựng 1 webiste bằng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 360 ƒ PHP (Pre HyperText Processor) là ngôn ngữ script chạy ở máy server. ƒ PHP dùng cú pháp giống như C++. ƒ Hiện PHP có thể chạy trên nhiều HĐH khác nhau từ Windows, Linux, OS2, MacOS,... ƒ Ý tưởng là viết module thông dịch source PHP và "hook" vào Webserver. ƒ PHP cung cấp rất nhiều nhóm hàm API ₫ể tiện lập trình trên nhiều lĩnh vực khác nhau, trong ₫ó nhóm các hàm API "odbc_x" cho phép truy xuất ₫ến database bất kỳ theo chuẩn giao tiếp ODBC. ƒ Qui trình cài ₫ặt và cấu hình chế ₫ộ làm việc cho PHP phụ thuộc vào HĐH mà ta muốn cài PHP. Trên Windows (IIS, PWS), bạn chỉ cần chạy trình installer.exe rồi trả lời trực quan 1 số cửa sổWizard. 9.1 Tổng quát về PHP Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 361 ƒ Một trang PHP là trang HTML có tăng cường 1 số ₫oạn script viết bằng PHP. Để module xử lý PHP nhận biết ₫ược file nào mình xử lý, ta phải dùng extension ₫ã qui ₫ịnh theo cấu hình (mặc ₫ịnh là *.php). ƒ Đoạn script PHP ₫ược ₫óng trong tag . ƒ Cú pháp PHP rất giống với C++, PHP phân biệt chữ HOA và thường. ƒ Biến PHP luôn bắt ₫ầu bằng ký tự $, thí dụ $name, $database,... ƒ Giống như nhiều ngôn ngữ script khác, PHP không kiểm tra kiểu dữ liệu, những kiểu cơ bản là Boolean, Integer, floating point, String, Array, Object... ƒ PHP cho phép ép (casting) kiểu dữ liệu : $var = (int) "123abc"; 9.2 Cách viết script PHP Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 362 Operators P A !, ~, ++, --, @, (the casting operators) 16 Right *, /, % 15 Left +, - . 14 Left > 13 Left =, > 12 Non-associative ==, != 11 Non-associative & 10 Left ^ 9 Left | 8 Left && 7 Left || 6 Left ? : (conditional operator) 5 Left =, +=, -=, *=, /=, %=, ^=, .=, &=, |= 4 Left And 3 Left Xor 2 Left Or 1 Left Các toán tử, quyền ưu tiên, tính kết hợp Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 363 Lệnh gán : $i = expr; Lệnh if : if (condition) statement1 else statement2 Lệnh switch : switch(expr) { case expr: statements break; ... default: statements break; } Các lệnh thực thi PHP Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 364 Lệnh while : while (condition) { statements } Lệnh do ... while : do { statements } while (condition); Lệnh for : for (start_expr; cond_expr; iter_expr) { statements } Định nghĩa function : function soundcheck($a, $b, $c) { return "Testing, $a, $b, $c"; } Các lệnh thực thi PHP (tt) Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 365 $GLOBALS : dãy các tham khảo ₫ến các biến toàn cục, mỗi phần tử ₫ược nhận dạng bằng chỉ số, chỉ số thường là tên biến tương ứng. $_SERVER : dãy các biến ₫ược thiết lập bởi Web server hay ứng dụng nào ₫ó khởi ₫ông môi trường thực thi cho ₫oạn script hiện hành, biến này tương tự với biến dãy $HTTP_SERVER_VARS. $_GET : dãy các tham số ₫ược gởi tới script từ chuỗi query URL (từ Web browser), biến này tương tự với biến $HTTP_GET_VARS. Truy xuất tham số thông qua chỉ số, chỉ số thường là tên tham số ₫ó. Thí dụ : $_GET["txtDiachi"] sẽ truy xuất tham số trong chuỗi URL yêu cầu có tên là txtDiachi ₫ược gởi về dùng method GET. $_POST : dãy các tham số ₫ược gởi tới script từ lệnh POST, biến này tương tự với biến $HTTP_POST_VARS. Truy xuất tham số thông qua chỉ số, chỉ số thường là tên tham số ₫ó, thí dụ : $_POST["txtDiachi"]. Thí dụ : $_POST["txtDiachi"] sẽ truy xuất tham số trong form yêu cầu có tên là txtDiachi ₫ược gởi về dùng method POST. Các biến ₫ịnh sẵn của PHP Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 366 $_COOKIE : dãy các biến ₫ược gởi tới script từ cơ chế cookie của giao thức HTTP, biến này tương tự với biến $HTTP_COOKIE_VARS. Truy xuất tham số thông qua chỉ số, chỉ số thường là tên của cookie ₫ó. $_FILES : dãy các biến ₫ược gởi tới script từ lệnh " HTTP post file uploads", biến này tương tự với biến $HTTP_POST_FILES. Truy xuất tham số thông qua chỉ số, chỉ số thường là tên của file ₫ó. $_ENV : dãy các biến ₫ược gởi tới script từ môi trường, biến này tương tự với biến $HTTP_ENV_VARS. Truy xuất tham số thông qua chỉ số, chỉ số thường là tên của biến môi trường ₫ó. $_REQUEST : dãy các tham số ₫ược gởi tới script từ các cơ chế gởi tham số GET, POST và COOKIE. Truy xuất tham số thông qua chỉ số, chỉ số thường là tên tham số ₫ó. $_SESSION : dãy các biến ₫ược ₫ăng ký cho session script hiện hành. Truy xuất tham số thông qua chỉ số, chỉ số thường là tên biến ₫ó. Biến này tương tự với biến $HTTP_SESSION_VARS. Các biến ₫ịnh sẵn của PHP (tt) Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 367 Do khả năng của ngôn ngữ script PHP không ₫ủ mạnh như ngôn ngữ lập trình chính quy nên nó cần 1 "₫ại gia" phía sau hỗ trợ. "Đại gia" phía sau PHP là các hàm API PHP, rất nhiều và ₫a dạng về chức năng. Hiện có trên 100 nhóm hàm API PHP khác nhau, mỗi nhóm gồm nhiều hàm cung cấp các chức năng liên quan ₫ến nhóm tương ứng. Thí dụ ₫ể truy xuất database thông qua giao tiếp ODBC, ta sẽ dùng các hàm trong nhóm ODBC, các hàm trong nhóm này ₫ều có tên bắt ₫ầu bởi tiếp ₫ầu ngữ "obdc_" : odbc_autocommit, odbc_binmode, odbc_close , odbc_close_all, odbc_commit, odbc_connect, odbc_cursor, odbc_do, odbc_error, odbc_errormsg, odbc_exec, odbc_execute, odbc_fetch_into, odbc_fetch_row, odbc_field_name, odbc_field_num, odbc_field_type, odbc_field_len, odbc_field_precision, odbc_field_scale, odbc_free_result, odbc_longreadlen, odbc_num_fields, odbc_pconnect, odbc_prepare, odbc_num_rows, odbc_result, odbc_result_all, odbc_rollback, odbc_setoption, odbc_tables, odbc_tableprivileges, odbc_columns, odbc_columnprivileges, odbc_gettypeinfo, odbc_primarykeys, odbc_foreignkey, odbc_procedures, odbc_procedurecolumns, odbc_specialcolumns, odbc_statistics Các hàm API của PHP Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 368 Yêu cầu : tạo 1 website dùng công nghệ PHP cho phép người dùng tra danh bạ ₫iện thoại bằng Web Browser. Phân tích : cần 2 module chức năng : ƒ module chứa form nhập thông tin về các account cần tra. module này có thể là 1 trang HTML thuần tứy. ƒ và module truy tìm trên database các account thỏa mãn tiêu chuẩn tìm kiếm, module này là 1 trang PHP theo yêu cầu. Qui trịnh thực hiện cụ thể : ở ₫ây ta dùng môi trường lập trình Web của Microsoft tên là Visual InterDev. Qui trình ₫iển hình cụ thể ₫ược liệt kê trong các slide kế tiếp. 9.3 Thí dụ xây dựng 1 webiste bằng PHP Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 369 1. Chạy InterDev, chọn Location và nhập tên của Project quản lý, rồi Open Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 370 2. Nhập tên Web server, trả lời các cửa sổ Wizard Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 371 3. Tạo trang HTML tên PHPInForm.htm, tạo form nhập liệu, tạo các phần tử trong form Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 372 Tên thuê bao : <INPUT name=txtTenthuebao style="width: 269px; height: 22px"> Số ₫iện thoại : Địa chỉ : <INPUT name=txtDiachi style="width: 373px; height: 22px"> Lưu ý : 3 textbox trong form có tên lần lượt là txtTenthuebao, txtSodienthoai và txtDiachi. Trang PHP xử lý form có tên là Tradienthoai.php. 4. Nội dung tag Form nhập liệu trong trang Web Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 373 5. tạo trang PHP tên là Tradienthoai.php, nhập code PHP tra danh bạ ₫iện thoại. Chương 1: Phương pháp giải quyết bài toán bằng máy tính số Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 374 6. Source code cụ thể của trang PHP Tradienthoai.php Ket qua tra danh ba theo yeu cau cua ban : <?php # xac dinh cac du lieu nhap tu form $ttbao = $_POST["txtTenthuebao"]; $sodthoai = $_POST["txtSodienthoai"]; $diachi = $_POST["txtDiachi"]; # connect to a DSN "Danhbadienthoai" with a user and password "" $connect = odbc_connect("MyDatabase", "", ""); # xay dung lenh SQL tim kiem $fsqlstart = 1; $newSQL="SELECT * FROM danhbadienthoai"; Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 375 6. Source code cụ thể của trang PHP Tradienthoai.php (tt) if ($ttbao != "") { $newSQL = "$newSQL where tenthuebao like '%$ttbao%'"; $fsqlstart = 0; } if ($sodthoai != "") { if ($fsqlstart == 1) $newSQL = "$newSQL where sodienthoai like '%$sodthoai%'"; else $newSQL = "$newSQL and sodienthoai like '%$sodthoai%'"; $fsqlstart = 0; } if ($diachi != "") { if ($fsqlstart == 1) $newSQL = "$newSQL where diachi like '%$diachi%'"; else $newSQL = "$newSQL and diachi like '%$diachi%'"; $fsqlstart = 0; } Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 376 6. Source code cụ thể của trang PHP Tradienthoai.php (tt) # perform the query $result = odbc_exec($connect, $newSQL); # fetch the data from the database $i = 1; if (odbc_fetch_row($result)) { # tao table va xuat hang dau tien printf(""); printf("So thu tuTen thue baoSo dien thoaiDia chi"); $tentbao = odbc_result($result, 2); $sodthoai = odbc_result($result, 3); $diachi = odbc_result($result, 4); print(" $i $tentbao $sodthoai $diachi \n"); $i = $i+1; Chương 9 : Lập trình Web chạy ở server dùng PHP Bộ môn : Công nghệ phần mềm Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Lập trình Mạng Slide 377 6. Source code cụ thể của trang PHP Tradienthoai.php (tt) while(odbc_fetch_row($result)) { $tentbao = odbc_result($result, 2); $sodthoai = odbc_result($result, 3); $diachi = odbc_result($result, 4); print(" $i $tentbao $sodthoai $diachi \n"); $i = $i+1; } printf("\n"); } else printf("Khong tim duoc account nao thoa tieu chuan cua ban ca!!"); # close the connection odbc_close($connect); ?> Quay ve trang chu Chương 9 : Lập trình Web chạy ở server dùng PHP

Các file đính kèm theo tài liệu này:

  • pdflaptrinhmang_ch9_4705.pdf
Tài liệu liên quan