Bài giảng: Lập trình PHP (căn bản)

Chia sẻ: Ly Duong | Ngày: | Loại File: DOC | Số trang:19

3
907
lượt xem
478
download

Bài giảng: Lập trình PHP (căn bản)

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

PHP được phát triển chỉ để dành cho ứng dụng web nên rất dễ dàng nhúng mã vào trang HTML. Tốc độ nhanh, nhỏ gọn, cú pháp giống C, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web rất phổ biến.

Chủ đề:
Lưu

Nội dung Text: Bài giảng: Lập trình PHP (căn bản)

  1. LẬP TRÌNH PHP (CĂN BẢN) 1. Giới thiệu  PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ Webserver.  Do PHP được phát triển chỉ để dành cho ứng dụng web nên rất dễ dàng nhúng mã vào trang HTML. Tốc độ nhanh, nhỏ gọn, cú pháp giống C, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web rất phổ biến.  Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng nhưng cũng có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên.  Nói đơn giản: PHP là ngôn ngữ dạng script thực thi trên webserver nhằm tạo ra trang web động  Thẻ đánh đấu bắt đầu và kết thúc của phần mã PHP, qua đó máy chủ biết để xử lý và dịch mã cho đúng.  Mỗi dòng kết thúc bằng dấu ;  Trong trang html, các lệnh php nằm trong tag hoặc  Các khối lệnh nằm trong { … }  Tên mở rộng của file là php  Chú thích // : 1 dòng /* … Khối lệnh */  File PHP chỉ chạy khi nó được chuyển giao từ webserver. Vì vậy, muốn thực thi file php, bạn phải request nó thông qua webserver (nghĩa là mở browser, gõ http://localhost/trangdong.php. Do đó không thể nhúp đúp vào file php để xem nó ở localcal như trang html được. Để chạy file PHP : + Nếu máy của bạn cài IIS : tạo file trong folder C:\Inetpub\wwwroot + Nếu máy của bạn cài AppserV : tạo file trong folder C:\AppserV\www Trang 1
  2. 2. Tạo website để lập trình PHP  Yêu cầu: folder chứa site của bạn phải nằm trong folder gốc của webserver  Giả sử folder site của bạn là WebTinTuc, đặt trong C:\AppSerV\www. Dưới đây là hướng dẫn cách tạo site PHP  B1: Trong Dreamweaver, nhắp menu Site  New Site  B2: Gõ tên Site (WebTinTuc) rồi nhắp Next  B3: Chọn Yes rồi chọn PHP MySQL  B4: Chọn Edit and Test locally… rồi chọn folder chứa site ở bên dưới (C:\AppServ\www\WebTinTuc)  B5: Gõ địa chỉ website: http://localhost/WebTinTuc Trang 2
  3.  B6: Nên chọn No (Chưa cần kết nối đến đến remote server lúc này) rồi nhắp Next  B7: Nhắp Done để kết thúc tạo site  Ghi chú: không nhất thiết phải tạo folder WebTinTuc cho site của bạn nhưng phải đặt trong folder gốc của webserver và tên folder trong B5 và B4 phải giống nhau. 3. Tạo trang PHP  Nhắp menu File  New  Chọn PHP  Create 4. Biến  Biến dùng để chứa các giá trị trong quá trình tính toán  Không cần khai báo kiểu dữ liệu lúc khai báo biến  Các kiểu dữ liệu mà biến có thể lưu: Trang 3
  4. + Số nguyên : int + Số thực : float, double + Chuỗi : string + Object + Logic : True hoặc false + Kiểu mảng: Array + Null : giá trị đặc biệt, nhằm thể hiện tính rỗng, chưa được gán gì  Khai báo : $TenBien= ; 5. Hằng  Là đối tượng chứa giá trị cố định  Khai báo: define("TenHang",GiaTri);  Ví dụ: 6. Các phép toán  Số học: +. -, *, /, % (chia lấy dư)  So sánh: ==, >=, , < , !=  Ghép chuỗi: .  Logic: !, && , ||  Tăng 1 : ++ Trang 4
  5.  Giảm 1 : --  Gán: = 7. Lệnh if: a. Lệnh if đơn giản: if (điều kiện) { Khối Lệnh 1; } else { Khối Lệnh 2; }  Phần else và khối lệnh 2 có thể không có  Nếu khối lệnh 1 khối lệnh 2 chỉ 1 gồm lệnh thì có thể bỏ cặp { }  Khối lệnh có thể là mã lệnh php hoặc mã lệnh html  Ví dụ 1 :  Ví dụ 2 : Sử dụng template khác nhau cho trang tùy theo thời gian  Mở file index1.html rồi save as thành index1.php  Qua chế độ code, đến dòng 21 sẽ thấy đoạn code  Bổ sung để có kết quả sau:
  6. } … else { Khối lệnh }  Ví dụ: c. Lệnh if ngắn gọn  Cú pháp: ()?:;  Ví dụ: 8. Vòng lặp for:  Là lệnh lặp 1 khối lệnh với số lần lặp nhất định  Cú pháp: for ( ; ; ) { Khối lệnh. }  Ví dụ: 9. Vòng lặp while :  Là lệnh lặp khối lệnh số lần lặp không xác định.  Cú pháp: Trang 6
  7. while (){ Khối lệnh }  Điều kiện lặp được kiểm tra trước, do đó có thể không thực hiện lần nào.  Ví dụ: 10. Vòng lặp Do...While:  Là lệnh lặp khối lệnh số lần lặp không xác định. do { Khối lệnh } while ();  Điều kiện lặp được kiểm tra sau, do đó thực hiện ít nhất 1 lần.  Ví dụ: 11. Hàm (Function) a. Giới thiệu: Hàm là 1 khối lệnh được đặt tên để gọi sử dụng nhiều lần. PHP có khoảng hơn 700 hàm. Chúng ta cũng có thể tự định nghĩa thêm các hàm mới. Hàm có thể trả vế 1 giá trị 1 giá trị nào đó sau khi tính toán hoặc không b. Khai báo: function (,,...){ ........ [return giá trị;] } c. Ví dụ: Trang 7
  8.  Tạo file ham.php  Định nghĩa hàm: gõ ở đâu đó (trong tag head):  Sử dụng hàm: trong tag body Số lớn nhất là :  F12 xem thử (kết quả là ?) d. Include file  Người ta thường đưa các hàm có cùng 1 loại (như xử lý chuỗi, tính toán, tiền tệ, bảo mật…) vào 1 file php riêng và include vào trang web khi cần.  Cú pháp: include "TenFile” ; hoặc require "TenFile” ; hoặc include_once "TenFile” ; hoặc //để đảm bảo include chỉ 1 lần, nếu đã include rồi thì php sẽ không require_once "TenFile” ; // không include nữa, nhằm để tránh trùng tên hàm  Tênfile thường là file php, cũng có thể là file html  Ví dụ:  Tạo file ngay.php, xóa hết mọi code html rồi định nghĩa hàm sau:  Tạo 1 trang php mới, lưu với tên là testInclude.php. Vào 1 trong tag body, gõ:
  9. ?>  F12 xem thử 12. String (chuỗi) Là 1 dãy ký tự trong nháy kép hoặc nháy đơn a. Chiều dài chuỗi strlen(chuỗi) ;//Trả về số ký tự trong chuỗi b. Trích chuỗi con substr(chuỗi gốc, vị trí đầu, chiều dài chuỗi con); c. Tìm kiếm chuỗi con strpos(chuỗi gốc, chuỗi con); // Trả về chỉ số là nơi xuất hiện chu d. Tìm và thay thế str_replace(,,); 13. Array (mảng) a. Giới thiệu: Mảng là 1 đối tượng được tạo ra nhằm lưu trữ các dữ liệu có tính tương đồng. Trong mảng có nhiều phần tử với những giá trị khác nhau và được đánh theo số thứ tự từ 0 trở đi (chỉ số phần tử) hoặc được phân biệt theo dạng chuỗi (key) 0 1 2 name1=“Teo”; Teo T Map a yb c name2=“Ty”; name3=“Map”; Trang 9
  10. Giá trị các key phải khác nhau. b. Khai báo mảng $TênMảng=array(); // khai báo mảng rỗng $TênMảng=array(giá tri 1, giá trị 2,…); //khai báo mảng có các phần tử đánh bằng chỉ số $ TênMảng =array("key1" =>giá trị 1, "key2" => giá trị 2, "key3" => giá trị 3); //Khai báo mảng dùng key c. Thể hiện cấu trúc mảng: Có thể dùng 2 hàm: var_dump(TenMang); // Liệt kê chi tiết bao nhiêu phần tử, index , kiểu và giá trị của từng phần tử print_r(TenMang); // liệt kê index và giá trị từng phần tử. Không hiện kiểu và tổng số phần tử d. Ví dụ: e. Thêm phần tử vào mảng f. Truy xuất phần tử mảng $ TênMảng[chiso] ; hoặc $ TênMảng["key"] ; g. Đếm phần tử count($TênMảng); h. Liệt kê phần tử mảng dùng vòng lặp for : Trang 10
  11. Liệt kê mảng mà các phần tử được đánh theo chỉ số liên tục i. Dùng vòng lặp while : Liệt kê các phần tử của mảng có chỉ số dạng key Chú ý:  1 phần tử của dãy có giá trị null cũng được, ghi vầy $a=array(10,null,7); Ghi vầy là sai: $a=array(10,,7);  Phần tử có chỉ số thì key là null 14. Xử lý dữ liệu trên Form a. Đối tượng $_GET, $_POST  $_GET, $_POST là 2 mảng có sẵn trong PHP để chứa dữ liệu gửi lên từ form. Cả hai là mảng dùng key. Key là tên của các đối tượng trong form  $_GET là đối tượng chứa dữ liệu gửi lên từ form dùng Method là Get  $_POST là đối tượng chứa dữ liệu gửi lên từ form dùng Method là Post b. Cách lấy giá trị từ form  $_GET["Ten"]  $_POST["Ten"] c. Ví dụ 1: Trang 11
  12.  Tạo 1 file tên dangnhap.php rồi tạo form login trong tag body như dưới đây: ĐĂNG NHẬP Tên đăng nhập Mật khẩu &nbsp; Nhớ user và pass &nbsp;  Tạo file xulydangnhap.php rồi gõ mã sau vào tag body  F12 file dangnhap.php, gõ user, pass rồi nhắp Login. Nhìn URL của browser, bạn sẽ thấy file xulydangnhap.php và username, password.  Chỉnh lại form trên với method là POST,  Sửa phương thức GET trong file xulydangnhap.php thành POST và thử lại. Chú ý URL trên thanh Address khi nhắp nút Login 15. Đối tượng $_SERVER Ngoài các thông tin trình duyệt gửi lên thông qua các con đường POST, GET, COOKIES, chúng ta cũng có  thể thu được một số thông tin khác có liên quan đến trình duyệt cũng như các thông số liên quan đến máy  chủ như: đường dẫn, địa chỉ IP, phiên bản... Các thông tin này được lưu trữ trong biến mảng $_SERVER  (đối với các phiên bản mới) hoặc $HTTP_SERVER_VARS (đối với các phiên bản cũ hơn bản 4.1.0): Trang 12
  13. $_SERVER['HTTP_HOST'] / $_SERVER['SERVER_NAME']: Tên của máy chủ host, nơi mà đoạn script được thực thi. $_SERVER['PHP_SELF']: Tên file nằm trên folder gốc của website. Ví dụ: biến $_SERVER['PHP_SELF'] trong script đặt tại địa chỉ http://example.com/test.php/foo.bar sẽ là /test.php/foo.bar. $_SERVER['QUERY_STRING']: Chuỗi chứa tên các tham số và giá trị (sau dấu ?) $_SERVER['DOCUMENT_ROOT']: Folder gốc của website, nơi mà file script đang được thực thi. Ví dụ: C:/AppServ/www $_SERVER['HTTP_REFERER']: địa chỉ của trang web mà từ đó user link đến trang này. $_SERVER['REMOTE_ADDR']: Địa chỉ của máy client, nơi người sử dụng đang duyệt web. $_SERVER['REQUEST_URI']: Địa chỉ URI (Định danh đối với các tài nguyên mạng, là một dạng thức của URL). $_SERVER['SERVER_SOFTWARE']: Chuỗi định danh của máy chủ, thường được cấp trong phần header khi trả lời các yêu cầu từ máy khách. Ví dụ: Apache/2.2.4 (Win32) PHP/5.2.3 $_SERVER['REQUEST_METHOD']: Loại yêu cầu mà clientsử dụng để truy cập trang web. VD: 'GET', 'HEAD', 'POST', 'PUT'. $_SERVER['SCRIPT_FILENAME']: Đường dẫn tuyệt đối của file script đang chạy. Vd: C:/AppServ/www/laptrinhphp/abc.php $_SERVER['SCRIPT_NAME']: Đường dẫn của file script. Vd /laptrinhphp/abc.php 16. Giới thiệu về http header http header là các thông tin điều khiển nằm trong các http request , http response. Chứa các các chỉ thị báo cho trình duyệt/server biết cách xử lý thông tin. Ví dụ: trình duyệt chuyển qua trang khác, trình duyệt đừng hiện file php, trình duyệt đừng lưu trang vào cache a. Redirection (chuyển hướng)  Dùng để chuyển sang trang web khác.  Cú pháp: header("location:url");  Lệnh này phải dùng trên tất cả các mã lệnh html  Ví dụ1: Trang 13
  14.  Ví dụ 2: Nếu buổi sáng chuyển đến trang index1.html ngược lại chuyển đến index2.html  Ví dụ 3: Nếu 2-4-6 chuyển đến trang index1.html ngược lại chuyển đến index2.html  Ví dụ 4: Nếu browser là IE thì chuyển đến trang index1.html, ngược lại trang index2.html  Ví dụ 5: Nếu browser là Firefox thì chuyển đến trang index1.html, ngược lại trang index2.html b. Content-type  Dùng để báo cho browser biết kiểu dữ liệu mà webserver đang trả về cho browser.  Cú pháp: header('Content-type:MimiType);  Ví dụ: tạo file mimetype1.html rồi gõ: Chào Chào bạn  Nếu không có dòng đầu (chữ đỏ) thì browse sẽ hiện trang web có chữ chào bạn. Nếu có, broswe sẽ biết đó là 1 file word, nó sẽ hiện ra khung này  Lệnh này phải dùng trên tất cả các mã lệnh html  Một số kiểu Mimtype (xem thêm file mimetype.html) Trang 14
  15. application/msword doc application/pdf pdf application/vnd.ms-excel xls application/zip zip c. Content-disposition  Cú pháp: header('Content-disposition: attachment; filename="'.$filename.'"');  Lệnh sẽ báo cho browser biết là nên download và save file. Tham số "filename=" sẽ báo cho browser biết tên của file nên được save.  Ví dụ:
  16. 17. Cookies a. Giới thiệu:  Cookie dùng để lưu những thông tin về user.  Cookie được lưu trong máy client, trong vùng do browser quản lý  Không dùng cookies để lưu những thông tin quan trọng vì không đảm bảo browser đều cho phép ghi cookies mà chỉ dùng cookie cho mục đích tiện ích mà thôi (username, password, thời điểm login cuối, danh sách nhạc ưa thích) b. Tạo cookie  setcookie("TenCookie",giá trị [,Thời điểm quá hạn]);  Nếu không chỉ định thời gian thì cookie sẽ lưu trong bộ nhớ. Và sẽ mất khi user đóng browser.  Nếu thời điểm quá hạn là 1 thời điểm trong quá khứ thì browser sẽ xóa cookie c. Sử dụng cookie  $_COOKIE["Ten"]; d. Ví dụ 1:  Tạo file setcookies.php và gõ khối lệnh sau (phải trên tất cả mã html)  Chú ý: Hàm time() cho biết số giây tính từ đầu năm 1970 đến thời điểm hiện tại  F12 xem thử, bạn sẽ chẳng thấy gì, nhưng 2 cookie đã được tạo (có thể xem thấy trong cache)  Tạo file viewcookie.php rồi gõ khối lệnh sau trong tag body  “F17” xem thử, bạn thấy giá trị 2 cookie e. Ví dụ 2  Tạo file xoacookie.php rồi vào dòng đầu tiên:  F12 , cookie sẽ bị xóa. Bạn có biết kiểm tra bằng cách nào không? f. Ví dụ 3:  Mở file xulydangnhap.php, gõ thêm ở đầu: Trang 16
  17.  Lưu file lại  Mở file 1 file dangnhap.php , chọn tag form rồi kểm tra xem có phải method là POST không  Nhắp textfield tên u rồi qua code, bạn sẽ thấy đoạn mã:  Gõ thêm vào (màu đỏ) để có kết quả sau:
  18.  Vd: c. Ví dụ 1: d. Ví dụ 2: Ghi nhận số lượng sản phâm được chọn vào giỏ hàng  Mở trang index_banhang.php - Qua code, lên dòng đầu gõ lệnh - Qua design. Ở cột phải, trong dòng Giỏ hàng có 0 sản phẩm, chọn số 0 xóa rồi qua code gõ code (màu đỏ) Giỏ hàng có sản phẩm - Kiểm tra xem từng nút đặt mua có link đến trang luuugiohang.php hay không  Tạo trang luugiohang.php - Qua code, xóa hết code html và gõ lệnh sau  Test thử e. Ví dụ 3 :  Tạo file index_admin.php – Trang chủ Đây là trang chủ quản trị. Chào . Bạn đã login thành cong. Logout; Trang 18
  19.  Tạo file login.html – Form login Username: Password:  Tạo file signin.php – Kiểm tra thông tin  Tạo file signout.php Trang 19
Đồng bộ tài khoản