Giao Trinh Lap Trinh Php&mysql

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Giao Trinh Lap Trinh Php&mysql as PDF for free.

More details

  • Words: 9,058
  • Pages: 41
Giáo trình lập trình Web với PHP&MYSQL Mục lục

Version 1.0

CHƯƠNG 1: GIỚI THIỆU PHP ............................................................................................... 2  CHƯƠNG 2: THIẾT LẬP WEBSERVER ................................................................................ 4  CHƯƠNG 3: PHƯƠNG THỨC VẬN HÀNH TRONG PHP ................................................. 11  CHƯƠNG 4: NHỮNG DÒNG CODE CĂN BẢN TRONG PHP .......................................... 14  CHƯƠNG 5: CÁC KIỂU DỮ LIỆU TRONG PHP ................................................................ 16  CHƯƠNG 6: CẤU TRÚC ĐIỀU KHIỂN TRONG PHP ........................................................ 20  CHƯƠNG 7: HỆ QUẢN TRỊ CSDL MYSQL........................................................................ 24  CHƯƠNG 8: QUẢN TRỊ PHPMYADMIN ............................................................................ 29  CHƯƠNG 9: LẬP TRÌNH FORM .......................................................................................... 33  CHƯƠNG 10: LẬP TRÌNH KẾT NỐI CSDL MYSQL ......................................................... 37  CHƯƠNG 11: SESSION & COOKIE ..................................................................................... 39 

Biên soạn: Lý Trần Thái Học

1

Giáo trình lập trình Web với PHP&MYSQL CHƯƠNG 1: GIỚI THIỆU PHP

Version 1.0

I. Giới thiệu căn bản: Một trong các công việc đầu tiên của chuyên gia thiết kế web đó là phải biết về: • Web Programming Language (Ngôn ngữ lập trình web) • Web Server (Máy chủ phục vụ web) • Database Server (Máy chủ phục vụ cơ sở dữ liệu) Web Programming Language là gì? Web Programming Language là ngôn ngữ được viết theo phong cách lập trình web (khác so với ngôn ngữ HTML – ngôn ngữ đánh dấu) để hỗ trợ và tăng cường các khả năng của web, cho phép điều khiển các phần tử của web được dễ dàng hơn. Chúng ta có một số ngôn ngữ lập trình Web như là: ASP, ASP.Net, PHP, JSP,… Web Server là gì? Web Server là máy tính mà trên đó được cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi phần mềm đó cũng chính là Web Server Tất cả các web server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi web server lại phục vụ một kiểu file chuyên biệt khác nhau, chẳng hạn như IIS của Microsoft dùng cho *.asp và *.aspsx; Apache dành cho *.php; Sun Java System Web Server của Sun dành cho *.jsp;… Database Server là gì? Database Server là máy chủ được cài đặt các phần mềm Hệ quản trị cở sở dữ liệu. Chúng ta có một số hệ phần mềm quản trị cơ sở dữ liệu (HQTCSDL) như SQL, MYSQL, Oracle,… II. Giới thiệu PHP: Bất kỳ ai khi thiết kế những trang web đều nhận thấy rằng những hạn chế của ngôn ngữ HTML và những ngôn ngữ lập trình khác như CSS và Javascript. Trong khi các ngôn ngữ này vẫn duy trì những điểm cốt lõi để phát triển Web thì chức năng quan trong là xử lý văn bản và tạo hình cũng bị giới hạn. Vì chúng ít có khả năng chuyển đổi dữ liệu cũng như kết nối với máy chủ cơ sở dữ liệu nên kết quả chỉ là một trang web. Giả sử bạn cần khảo sát số lượng người truy cập website của bạn, bạn có thể dễ dàng triển khai bằng cách viết theo thể thức HTML. Nhưng việc xử lý thông tin thô thành dữ liệu có ý nghĩa đối với bạn thì mất rất nhiều thời gian và công sức. Các ngôn ngữ lập trình sẽ giải quyết được vấn đề này cho bạn. Ngôn ngữ lập trình sẽ xử lý và lưu trữ nó trong các cơ sở dữ liệu trên máy chủ. Các ngôn ngữ lập trình này sẽ kết nối với cơ sở dữ liệu, tập hợp thông tin và hiển thị khi bạn truy cập website. Một trong những ngôn ngữ gần đây, ngày càng có nhiều nhà phát triển web ưa chuộng và thật thích thú khi làm việc với nó đó là ngôn ngữ lập trình PHP. PHP là gì? PHP viết tắt của Personal Home Page là kịch bản trình chủ (server script) chạy trên phía server (server side) như các server script khác như asp, jsp,.. PHP là kịch bản cho phép chúng ta xây dựng ứng dụng web trên mạng internet hay intranet tương tác với mọi cơ sở dữ liệu như MySQL, Oracle, Access,… Lưu ý rằng, từ phiên bản 4.0 trở về sau mới hỗ trợ session, ngoài ra PHP cũng như Perl là kịch bản xử lý chuỗi rất mạnh chính vì vậy bạn có thể sử dụng PHP trong những yêu cầu về xử lý chuỗi.

Lịch sử ra đời của PHP: PHP được giới thiệu năm 1994 như một bộ sưu tập của một ngôn ngữ lập trình chưa chặt chẽ và dựa vào Peri và các dụng cụ của trang chủ. Tác giả của cuốn ngôn ngữ lập trình này, ông R.Lerdoft đã làm cho tất cả phải giật mình bởi đã sáng tạo ra nó. Biên soạn: Lý Trần Thái Học

2

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 Tới năm 1998, viêc công bố phiên bản 3 thì PHP mới chính thức phát triển theo hướng riêng của mình. Giống như C và Peri, PHP là một ngôn ngữ lập trình có cấu trúc và tính năng đa dạng. Chính vì những điểm giống nhau này đã khuyến khích các nhà thiết kế web chuyên nghiệp chuyển qua sử dụng PHP. Với phiên bản 3 này, PHP cũng cung cấp một số lượng cơ sở dữ liệu đồ sộ gồm cà MYSQL,ODBC,Oracle. Nó cũng có thể làm việc với dữ liệu hình ảnh, file, FTP, XML và host của các kỹ thuật ứng dụng khác. Cho đến thời điểm soạn quyển giáo trình này thì PHP đã ra tới phiên bản 5 và càng ngày càng hoàn hảo và dễ sử dụng. Đến nay PHP vẫn là một dịch vụ hàng đầu miễn phí. Tuy nhiên không giống như một số ngôn ngữ khác các ngày nó càng trở thành một xu hướng vì rất nhiều trang web hiện được làm bằng PHP. Tại sao nên dùng PHP? Ngoài PHP có rất nhiều ngôn ngữ lập trình khác cho bạn lựa chọn như ASP, Peri,… Trong mỗi ngôn ngữ lập trình đều có cấu hình và tính năng khác nhau nhưng chúng đều đưa kế quả giống nhau khi xử lý một vấn đề nào đó. Tại sao PHP lại là sự lựa chọn hàng đầu của bạn? PHP rất đơn giản đối với những người còn xa lạ bởi chương trình này tạo ra sự lôi cuốn mạnh mẽ và thậm chí tạo ra một tốc độ đáng kinh ngạc trong việc phát triển web. PHP là một mã nguồn thông tin mở: bởi vì mã nguồn củ PHP có sẵn nên cộng đồng các nhà phát triển web luôn có ý thức cải tiến, nâng cao và khắc phục những khuyết điểm trong chương trình này. PHP rất ổn định và tương hợp, mới đây PHP đã hoạt động ổn định ngay trên cả Unix, Windows,… Đồng thời nó cũng nối với một số máy chủ chạy IIS hay Apache.

Biên soạn: Lý Trần Thái Học

3

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

CHƯƠNG 2: THIẾT LẬP WEBSERVER I. Thiết lập webserver với Apache: Web server phổ biến nhất hiện nay là apache, hiện chiếm khoảng gần 60% thị trướng máy chủ Web trên toàn thế giới. Để tiến hành cài đặt Web Server bạn hãy lên trang web http://www.apache.org/dist/httpd/binaries/win32/ để download về máy. Nếu trên máy đã có Windows Installer thì các bạn download file *.msi, còn nếu không thì bạn phải download file *.exe (dung lượng lớn hơn file msi). Quá trình cài đặt rất đơn giản, bạn chỉ cần chạy file vừa download về, chấp nhận các thiết lập mặc định. Sau khi cài đặt xong, mở trình duyệt web và gõ vào địa chỉ http://localhost để kiểm tra. Nếu mọi việc suôn sẻ thì bạn nhận thấy một trang web thông báo đã cài đặt thành công. Để thay thế trang web mặc định đó thành trang web của mình, bạn cần phải sửa file cấu hình Apache (mặc định là C:\Program Files\Apache Group\Apache\httpd.conf). Mở file này, tìm đến dòng chứa lệnh DocumentRoot, hãy thay tham số trên bằng thư mục sẽ chứa trang web của bạn. Ví dụ: DocumentRoot “C:/hocict”. Chú ý: Đối với các đường dẫn trong Apache bạn nên dùng dấu “/”, còn nếu bạn muốn dùng dấu “\” thì phải gõ dấu này 2 lần, ví dụ: C:\\hocict Khởi động lại Apache. Nếu bạn cài Apache trên Windows họ NT thì Apache có cung cấp shortcut để khởi động lại nó. II. PHP và MYSQL: Cùng với Apache, PHP và MySQL đã trở thành chuẩn trên các máy chủ web. Rất nhiều phần mềm web đã sử dụng PHP và MySQL(PHP Nuke, VBulletin,…) Vì thế khi cài Apache, bạn cũng nên cài luôn cả hai công cụ PHP và MySQL để tịch cho việc lập trình. PHP và MySQL là gì? PHP là một ngôn ngữ lập trình cho webserver. Điều này có nghĩa là các PHP Scripts sẽ được chạy trên server và chỉ có kết quả dưới dạng HTML là được trả về cho client. PHP có cú pháp tương tự như C/C++, rất dễ học và chạy rất nhanh. MySQL là một database server có tốc độ nhanh nhất hiện nay, thường được sử dụng chung với PHP trong các trang web cần sử dụng đến cơ sở dữ liệu, đặc biệt là các trang web được phát triển trên ngôn ngữ PHP Cài đặt PHP: Bạn cần lên trang http://www.php.net/downloads.php để download các phiên bản cho windows của PHP. Trong giáo trình này sử dụng PHP 5.2.9. Sau khi cài đặt thì trên ổ đĩa cứng sẽ xuất hiện thư mục PHP. Ngoài ra, trong thư mục Windows hoặc WINNT sẽ xuất hiện tập tin php.ini, tập tin này cho phép bạn cấu hình cho ứng dụng PHP. Chẳng hạn, khi có lỗi trong trang PHP thì lỗi thường xuất hiện khi triệu gọi chúng, để che dấu các lỗi này thì bạn cần khai báo display_errors = Off vì chúng ở trạng thái display_errors = On. Bên cạnh đó, PHP cũng có thể trình bày một số warning khi chúng phát hiện cú pháp không hợp lý, chính vì vậy để che dấu các warning này thì bạn cũng cần khai báo trang thái Off thay vì On cho dòng assert.warning. ¾ Cài đặt MySQL: Đối với MYSQL, chỉ cần lên trang http://www.mysql.com/download để download file .zip về máy, giải nén rồi chạy file setup. Bạn sẽ được yêu cầu nhập mật mã mà bạn muốn thiết lập cho người quản trị MySQL. Username của người quản trị sẽ là root, địa chỉ của database server sẽ là localhost (bạn sẽ cần những thông tin này khi cài đặt ứng dụng web có sử dụng MySQL) Biên soạn: Lý Trần Thái Học

4

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 Nếu bạn muốn sử dụng PHP như một module của Apache, bạn nên chuyển file php5ts.dll sang thư mục Windows\System32. Sau đó bạn thêm các dòng sau vào file cấu hình của Apache: ¾ LoadModule php5_module C:/php/php5apache.dll ¾ AddType application/x-httpd-php .php.phtml Sau đó nhớ khởi động Apache lại. III. Cấu hình ứng dụng PHP bằng IIS Chúng ta cũng có thể dùng IIS để thiết lập ứng dụng chạy bằng PHP

Biên soạn: Lý Trần Thái Học

5

Giáo trình lập trình Web với PHP&MYSQL Cài đặt IIS trên Windows 7 Bước 1: Chọn Start Æ Control Panel Æ Programs and Features

Version 1.0

Bước 2: Chọn Turn Windows features on or off

Bước 3: Chọn các tùy chọn phù hợp cho IIS, nhớ chọn thêm phần ISAPI Extensions sau đó chọn OK để bắt đầu cài đặt IIS

Bước 4: Mở Internet Explorer gõ http://localhost để kiểm tra xem đã cài đặt cấu hình IIS thành công hay chưa? Nếu nhìn thấy hình bên dưới trên trình duyệt, điều đó có nghĩa là bạn đã cài đặt IIS thành công.

Biên soạn: Lý Trần Thái Học

6

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

Cài đặt PHP: Bước 1: Copy folder php trên đĩa kèm theo vào ổ C:\

Bước 2: Phải chuột My Computer Æ Properties ÆAdvanced System Settings Æ Environment Variables…, chọn Path Æ Edit ở System Variable, điền thông số như hình minh họa

Biên soạn: Lý Trần Thái Học

7

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

Bước 3: Vào Internet Information Services (II) Manager (Start Æ Control Panel Æ Administrative Tools Æ IIS Manager)

Bước 4: Nhấp chọn Handler Mapping ở phần IIS, sau đó chọn Add Script Map…

Biên soạn: Lý Trần Thái Học

8

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

Bước 5: Nhập thông số như hình bên dưới rồi chọn OK

Bước 6: Copy file phpinfo.php trong đĩa kèm theo vào trong C:\inetpub\wwwroot

Biên soạn: Lý Trần Thái Học

9

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

Bước 7: Mở trình duyệt web Internet Explorer gõ vào http://localhost/phpinfo.php để kiểm tra xem PHP đã chạy được hay không? Nếu nhìn thây hình minh họa bên dưới có nghĩa là IIS đã hỗ trợ được PHP

Biên soạn: Lý Trần Thái Học

10

Giáo trình lập trình Web với PHP&MYSQL CHƯƠNG 3: PHƯƠNG THỨC VẬN HÀNH TRONG PHP

Version 1.0

Cách thức vận hành là một trong những yếu tố quan trong nhất của PHP. Thực sự bạn chẳng làm được gì nếu không có các phương thức vận hành này. Chúng được sửa đổi và làm việc với các chuỗi, con số. Chúng cũng rất hoàn thiện trong việc chi phối tốc độ của ứng dụng. Vì vậy, lựa chọn phương thức vận hành nào trong PHP là yếu tố quan trọng nhất khi lập trình php. Trong PHP các phương thức vận hành dễ dàng tập hợp theo nhóm tùy theo chức năng. ¾ Các phương thức vận hành: ¾ Phương thức vận hành tương thích ¾ Phương thức vận hành toán học ¾ Phương thức vận hành tăng giảm ¾ Phương thức so sánh ¾ Phương pháp logic ¾ Phương thức ưu tiên I. Phương thức vận hành tương thích: Phương thức này cho phép bạn có thể sửa đổi từ cái này sang cái khác. Bạn cũng có thể sửa đổi các chuỗi, các thay đổi khác và thậm chí là tác động đến kết quả của chương trình.

II. Phương thức toán học: Cũng giống như toán học, phương thức vận hành này trong PHP được sử dụng để làm việc với các con số, các phép toán cộng trừ nhân chia: Toán tử Tên toán tử Ví dụ Mô tả + Cộng $a + $b; Cộng 2 giá trị a và b Trừ $b - $a; Trừ giá trị $b cho $a * Nhân $a * $b; Nhân 2 giá trị $a,$b / Chia $b / $a; Chia giá trị $b cho $a % Tính % $a % $b; Tính % Bốn toán tử đầu tiên có vẻ rất quen thuộc và hữu dụng đối với bạn từ khi bạn học toán sơ cấp. Còn cách tính % ít khi được dùng. III. Phương thức tăng giảm: Cũng giống như C/C++, chương trình PHP có tính năng hỗ trợ cho cách vận hành tăng giảm các giá trị số. Đây là một cách ngắn gọn để thể hiện giá trị tăng hay giảm. Toán tử Tên toán tử Ví dụ Mô tả ++ Tăng sau $a++; Trả về giá trị $a, sau đó tăng lên 1 đơn vị ++ Tăng trước ++$a; Tăng $a lên 1 đơn vị, sau đó mới thực hiện phép toán -Giảm sau $a--; Trả về giá trị $a, sau đó giảm xuống 1 đơn vị -Giảm trước --$a; Giảm $a xuống 1 đơn Biên soạn: Lý Trần Thái Học

11

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0 vị, sau đó thực hiện phép toán.

IV. Phương thức so sánh: Trong PHP bạn thường thấy rất cần thiết khi phải xem xét mối quan hệ giữa giá trị này với giá trị khác. Phương thức so sánh cho phép bạn thử nghiệm các so sánh sanh như lớn hơn, nhỏ hơn ,bằng, … Không giống như phương thức toán học, phương thức so sánh chỉ dùng để đối chiếu kết quả là đúng hay sai và thường được dùng để thống kê Toán tử Tên toán tử Ví dụ Mô tả == Bằng nhau $a == $b Giá trị $a có bằng giá trị $b hay không != Khác nhau $a != $b Giá trị $a có khác giá trị $b hay không < Nhỏ hơn $a < $b Giá trị $a có nhỏ hơn giá trị $b hay không > Lớn hơn $a > $b Giá trị $b có lớn hơn giá trị $a hay không <= Nhỏ hơn hoặc bằng $a <= $b Giá trị $a có nhỏ hơn hoặc bằng giá trị $b >= Lớn hơn hoặc bằng $a >= $b Giá trị $a có lớn hơn hoặc bằng giá trị $b Phép tính bằng không bằng trong phương thức này không những chỉ dùng để so sánh giá trị số mà còn được dùng để so sánh chuỗi. Ví dụ: Bạn đang cần kiểm tra sự hợp lệ của user khi nhập password. Vấn đề đặt ra là bạn phải viết lệnh kiểm tra xem password của user đó có hợp

lệ hay không? V. Phương pháp logic: Điều gì sẽ xảy ra nếu bạn muốn xem xét hơn nhiều điều kiện để biết nó đúng hay sai. Xét lại trường hợp một user login bạn buộc phải kiểm tra chắc chắn tên mà mật khẩu có user đó có trùng khớp hay không, bạn có thể viết như sau:

Biên soạn: Lý Trần Thái Học

12

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

Ký tự AND nằm giữa hai điều kiện cho thấy ngôn ngữ lập trình phải kiểm tra cả hai phần của câu lệnh là đúng. Nếu đúng thông tin thì kết quả được thông báo là “Login successfull”, ngược lại sẽ báo là “Information is incorrect” Toán tử Tên toán tử Ví dụ Mô tả AND Và $a and $b Trả về True nếu $a true và $b true OR Hoặc $a or $b Trả về True nếu $a hoặc $b true XOR && Và $a && $b Trả về True nếu $a true và $b true || Hoặc $a || $b Trả về True nếu $a hoặc $b true ! Không !$a Trả về True nếu không phải $a VI. Phương thức ưu tiên: Các phương thức ưu tiên cũng được dùng trong chương trình PHP. Hãy xem biểu đồ dưới đây để xem thứ tự ưu tiên của các phép tính. Các phép tính được liệt kê cùng một nhóm thì có thứ tự ưu tiên ngang nhau: Thứ tự ưu tiên cao nhất * / % 1 +2 < <= > >= 3 && 4 || 5 And 6 Xor 7 Or Ngoài ra, ta cũng có thể dùng ngoặc đơn ( ) cho phép toán được ưu tiên thực hiện trước.

Biên soạn: Lý Trần Thái Học

13

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

CHƯƠNG 4: NHỮNG DÒNG CODE CĂN BẢN TRONG PHP Một file PHP thường bao gồm các thể html, giống như một file Html, và thêm một số mã kịch bản PHP Ví dụ: Chúng ta sẽ hiển thị một dòng văn bản “Hello World” trên trình duyệt bằng một file PHP đơn

Hello World giản sau Một khối kịch bản PHP bao giờ cũng bắt đầu bằng . Một khối kịch bản PHP được đặt bất kỳ ở đâu trên tài liệu. Kết thúc mỗi dòng mã trong PHP luôn là dấu “;” Hai lệnh cơ bản để hiển thị văn trong trong PHP là echo và print Trong ví dụ ở trên, ta đã dùng lệnh echo để cho hiển thị dòng “Hello World” ¾ Biến trong PHP

Hello World Tất cả các biến trong PHP đều bắt đầu bằng ký tự $. Các biến có thể là chuỗi (string), là số (number) hoặc là mảng (array) Để nối hai hay nhiều biến lại với nhau ta sử dụng dấu chấm “.” Kết quả in trên màn hình sẽ là: Biên soạn: Lý Trần Thái Học

14

Giáo trình lập trình Web với PHP&MYSQL Hello World Hello World. Tôi là Lý Trần Thái Học

Version 1.0

¾ Chú thích trong PHP: Trong PHP, chúng ta sẽ sử dụng // để tạo một dòng chú thích. Để tạo một khối chú thích ta sử dụng /* và */ Ví dụ:

Biên soạn: Lý Trần Thái Học

15

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

CHƯƠNG 5: CÁC KIỂU DỮ LIỆU TRONG PHP PHP hỗ trợ 8 kiểu dữ liệu nguyên thủy trong đó bao gồm 4 kiểu dữ liệu thông thường, 2 kiểu dữ liệu phức tạp và 2 kiểu dữ liệu đặc biệt. Bốn kiểu dữ liệu thông thường: Boolean, integer, floating-point number (float), string Hai kiểu dữ liệu phức tạp: array (mảng) và đối tượng (object) Và cuối cùng là hai kiểu dữ liệu đặc biệt: resource và null I. Boolean: Đây là kiểu dữ liệu đơn giản nhất. Một kiểu Boolean biểu thị một giá trị thật. Nó có thể là True hoặc False. Cú pháp: để chỉ định một giá trị Boolean, có thể sử dụng từ khóa True hay là False. Cả 2 đều không phân biệt chữ hoa hay chữ thường. Ví dụ: $login = True; // gán giá trị True cho biến $login Để chuyển một biến từ kiểu dữ liệu khác sang kiểu Boolean, ta có thể dùng (bool) hoặc boolean. Ví dụ: (bool)$login;//chuyển kiểu dữ liệu của biến $login thành kiểu dữ liệu dạng bool II. Integer: Là tập hợp bao gồm các số {…,-2,-1,0,1,2,…} Cú pháp: Integer có thể được chỉ định trong cơ số 10, cơ số thập lục phân hay cơ số bát phân, tùy chọn đi trước bởi dấu – hay +. Nếu bạn sử dụng cơ số bát phân, bạn phải theo thứ tự với 0 đứng trước, còn với số thập lục phân thì 0x. Ví dụ: $a = 1234; //số thập phân $a = -123; //số âm $a = 0123; //số bát phân $a = 0x1A; //số thập lục phân Kích thước của kiểu dữ liệu này là 32 bit, và PHP không hỗ trợ kiểu unsigned integer. Nếu bạn chỉ định một số vượt quá kích thước của kiểu dữ liệu integer thì nó được xem như kiểu float. Tương tự như vậy, khi bạn thực hiện một phép toán mà kết quả trả về vượt quá kích thước của Integer thì nó sẽ trả về kiểu float. Để chuyển một giá trị sang kiểu integer, ta có thể dùng toán tử ép kiểu (int) hay (integer). Tuy nhiên, trong hầu hết các trường hợp bạn không cần phải dùng toán tử ép kiểu đó, bởi giá trị sẽ tự động chuyển sang toán tử, hàm hay cấu trúc điều khiển đòi hỏi một đối số integer. III. Kiểu số thực (floats, doubles hay real numbers): Có thể được chỉ định bằng cách sử dụng một trong những cú pháp sau: $a = 1.234; $a = 1.2e3; $a = 7E-10; Kích cỡ của kiểu float phụ thuộc vào platform, giá trị lớn nhất xấp xỉ 1.8e308 IV. Kiểu chuỗi (string): Là những chuỗi các ký tự. Trong PHP, một ký tự cũng tương tự như một byte, do đó có chính xác 256 ký tự khác nhau. Cú pháp: ta có thể khai báo bằng 3 cách khác nhau. ¾ Dấu nháy đơn : cách dễ dàng nhất để chỉ định một chuỗi đơn giản là đóng nó trong dấu nháy đơn. Biên soạn: Lý Trần Thái Học

16

Giáo trình lập trình Web với PHP&MYSQL Ví dụ: echo ‘Hello everybody’;

Version 1.0

¾ Dấu nháy kép: nếu chuỗi được đóng trong dấu ngoặc kép, PHP có thêm một số chuỗi đặc biệt. Ví dụ: echo “Hello everybody\n”; ¾ Cách khác để phân định chuỗi là sử dụng cú pháp <<< V.

Kiểu mảng (array): là một danh sách các phần tử có cùng kiểu dữ liệu. Mảng có thể là mảng một chiều hay nhiều chiều. ¾ Mảng một chiều có chỉ mục là mảng được quản lý bằng cách sử dụng chỉ số dưới kiểu integer để biểu thị vị trí của giá trị yêu cầu. Cú pháp: $name[num]; Ví dụ: Mảng một chiều có thể được tạo ra như sau: $meat[0] = “Gà”; $meat[1] = “Bò”; $meat[2] = “Heo”; Bạn cũng có thể sử dụng hàm array() của PHP để tạo ra một mạng. Ví dụ: $meat = array(“Gà”, “Bò”, “Heo”); ¾ Mảng một chiều kết hợp: rất thuận lợi khi dùng để ánh xạ một mảng sử dụng các từ hơn là sử dụng các integer, nó giúp ta giảm bớt thời gian và các mã yêu cầu để hiển thị một giá trị cụ thể Ví dụ: Khai báo mảng để lưu lại thông tin của các loại thức ăn và nước uống $thucan[“cadieuhong”] = “Ca Dieu Hong”; $thucan[“catra”] = “Ca Tra”; $bia[“heineken”] = “Heineken” ; $bia[“saigon”]= “Sai Gon”; Ngoài ra bạn cũng có thể sử dụng hàm array() của PHP để tạo ra một mạng loại này. Ví dụ: $thucan=array(cadieuhong => “Ca Dieu Hong”,catra => “Ca Tra”); ¾ Mảng nhiều chiều có chỉ mục: chức năng của nó cũng giống như mảng một chiều có chỉ mục, ngoại trừ việc nó có thêm một mảng chỉ mục được dùng để chỉ định một phần tử Ví dụ: $matran = $a[5][4]; ¾ Mảng đa chiều kết hợp: khá hữu ích trong PHP. Ví dụ: Bạn muốn ghi lại thông tin của một loại bia mà bao gồm luôn cả nhà sản xuất thì bạn khai báo như sau: $bia[“Bia Sai Gon”][“333”]= “Bia 333”; VI. Object: Bạn có thể xem object (đối tượng) như là một biến mà minh họa một kiểu mẫu template được gọi là class (lớp). Khái niện của đối tượng và lớp được sử dụng nhiều trong ngôn ngữ lập Biên soạn: Lý Trần Thái Học

17

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 trình hướng đối tượng (OOP). Không giống như các kiểu dữ liệu khác trong PHP, object phải được khai báo. Điều quan trọng là phải nhận ra rằng object không hơn gì một minh họa của một lớp, và hoạt động như một khuôn mẫu cho việc tạo các object có các đặc tính và chức năng cụ thể. Cho nên, class phải được định nghĩa trước khi khai báo một object. Để khởi tạo một đối tượng, bạn sử dụng câu lệnh new để minh họa đối tượng với một biến. Ví dụ: echo_SV ?> VII. Resource: Là một biến đặc biệt, chứa một tham chiếu đến một resource bên ngoài. Các resource được tạo ra và sử dụng bởi các hàm đặc biệt. Giải phóng resources: bởi do tham chiếu đếm của hệ thống được giới thiệu trong PHP5 Zendengine, nó sẽ tự động phát hiện khi một resource không cần thiết cho lâu dài. Khi ở trong trường hợp này, tất cả các resource mà đã được dùng cho resource này được giải phóng bởi “bộ phận thu nhặt rác” Do đó, hiếm khi sử dụng free_result() để giải phóng bộ nhớ. VIII. Null: Giá trị null đặc biệt dùng để thể hiện một biến không có giá trị. Một biến được xem là NULL nếu: ¾ Nó được gán giá trị hằng số NULL ¾ Nó chưa được khởi tạo giá trị nào ¾ Nó là hàm unset() Chú ý: unset() là một hàm dùng để hủy bỏ các biến chỉ định Cú pháp: chỉ có một loại giá trị kiểu NULL. $user = NULL; IX. Kiểm tra kiểu dữ liệu của biến: Để kiểm tra kiểu dữ liệu của biến, bạn sử dụng các hàm sau: ¾ is_int: để kiểm tra biến có kiểu integer, nếu biến có kiểu integer thì hàm sẽ trả về giá trị true. ¾ is_array: kiểm ra biến có kiểu array ¾ is_bool: kiểm tra biến có kiểu Boolean ¾ is_float: kiểm tra biến có kiểu float ¾ is_string: kiểm tra biến có kiểu string ¾ is_object: kiểm tra biến có kiểu object

Biên soạn: Lý Trần Thái Học

18

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

X. Tầm vực của biến: Tầm vực của biến phụ thuộc vào nơi khai báo biến, nếu biến khai báo bên ngoài hàm thì sẽ có tầm vực trong trang PHP, trong trường hợp biến khai báo trong hàm thì chỉ có hiệu lực trong hàm đó. Ví dụ, chúng ta có biến $a khai báo bên ngoài hàm nhưng khi vào trong hàm thì biến $a được khai báo lại, biến này có tầm vực bên trong hàm. Ngoài ra, để sử dụng biến toàn cục trong hàm, bạn sử dụng từ khóa global, khi đó biến toàn cục sẽ có hiệu lực bên trong hàm. Ví dụ khai báo biến $a bên ngoài hàm, sau đó bên trong hàm Test bạn sử dụng từ khóa global cho biến $a, khi đó biến $a sẽ được sử dụng và giá trị đó có hiệu lực sau khi ra khỏi hàm.

Welcome to PHP a + b =”.$a+$b; } Test(); echo $a; ?>

XI.

Hằng trong PHP 1. Khai báo và sử dụng hằng: Hằng là giá trị không thay đổi kể từ sau khi khai báo, bạn có thể sử dụng phát biểu define để khai báo hằng như sau: Define(“MAXSIZE”,100); 2. Kiểm tra hằng: Khi sử dụng hằng, mà hằng chưa tồn tại thì bạn sử dụng hàm defined

Biên soạn: Lý Trần Thái Học

19

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

CHƯƠNG 6: CẤU TRÚC ĐIỀU KHIỂN TRONG PHP I. Câu lệnh If: Câu lệnh If là một trong những đặc tính quan trong nhất của mỗi ngôn ngữ lập trình. Sử dụng phát biểu If để chọn lọc kết quả khi điều kiện đúng. Ví dụ: If($macongty = = “DNNN”) Echo “Doanh nghiệp nhà nước”; Nếu nhiều hơn một câu lệnh được thực hiện khi thỏa mãn điều kiện thì sử dụng {} để chỉ ra những dòng lệnh nào được thực hiện khi thoản điều kiện if. Ví dụ:

Welcome to PHP

Câu lệnh IF

II. Câu lệnh if … else Phát biểu này sẽ chọn lọc kết quả thực hiện sau if nếu điều kiện đúng và chọn lọc kết quả thực hiện sau else nếu điều kiện sai. Ví dụ: If($a%2==0) echo $a.“ là số chẵn”; else echo $a.“ là số lẽ”; Nếu nhiều hơn một câu lệnh được thực hiện sau if hoặc else thì ta cũng sử dụng dấu {} để đóng các lệnh cần thực hiện. III. Phát biểu Else if PHP cũng cung cấp từ khóa else if để kiểm tra các điều kiện lựa chọn nếu điều kiện trong câu lệnh if là không đúng. Nhánh else cuối cùng cho phép ta định vị đoạn mã mà sẽ được thực hiện nếu cả điều kiện if và else if đều không đúng. Ví dụ: Biên soạn: Lý Trần Thái Học

20

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

Welcome to PHP

Câu lệnh If….else

=9) echo “Xuất sắc”; else if($dtb>=8) echo “Giỏi”; else if($dtb>=6.5) echo “Khá”; else if($dtb >=5) echo “TB”; else if($dtb >3.5) echo “Yếu”; else echo “Kém”; ?>

IV. Phát biểu điều kiện Switch Khi có nhiều điều kiện chọn lựa thì bạn nên sử dụng Switch Cú pháp: switch(điều kiện) { Case giátrị 1; Câu lệnh 1; Break; Case

giátrị 2; Câu lệnh 2; Break;

Case

giátrị 3; Câu lệnh 3; Break;

……. Default: Câu lệnh default; } Break: dùng để thoát khỏi switch khi đã thỏa một case nào đó. Default: khi không có giá trị nào thỏa trong các case thì sẽ thực hiện các lệnh ở default. Biên soạn: Lý Trần Thái Học

21

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

Ví dụ:

Welcome to PHP

Cấu trúc điều kiển Swtich



V. Phát biểu điều kiện While: Phát biểu While thực thi những câu lệnh trong While khi điều kiện có giá trị True. Ví dụ:

Câu lệnh điều kiện While

0) { Echo $j.“
”; $j--; } ?>

Biên soạn: Lý Trần Thái Học

22

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

VI. Phát biểu For: Phát biểu for dùng cho vòng lặp có giới hạn cho trước Ví dụ:

Welcome to PHP

Câu lệnh điều kiện For

”; ?> VII. Phát biểu Do… While Phát biểu do…while cho phép duyệt và kiểm tra điều kiện sau phát biểu thứ nhất, điều này có nghĩa là ít nhất một phát biểu được thực hiện. Ví dụ:

Welcome to PHP

Câu lệnh Do… While

”; $i--; } While($i>0); ?>

VIII. Phát biểu Exit: Phát biểu dùng để thoát khỏi phát biểu điều kiện.

Biên soạn: Lý Trần Thái Học

23

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

CHƯƠNG 7: HỆ QUẢN TRỊ CSDL MYSQL Có rất nhiều hệ quản trị cơ sở dữ liệu khác nhau như SQL, Oracle, MYSQL,… nhưng tại sao lại chọn MYSQL? MySQL là một hệ cơ sở dữ liệu được dùng phổ biến trên thế giới bởi tốc độ nhanh, dễ sử dụng, chạy trên nhiều hệ điều hành khác nhau,… và miễn phí. Để cài đặt MYSQL thì bạn lên trang http://www.mysql.com để download version mới của MYSQL về cài đặt. Trong giáo trình này sẽ sử dụng version mysql-essential-5.1.32win32.msi để hướng dẫn. ¾ Xem các database đang có trong cơ sở dữ liệu: mysql> show databases; +-------------------+ | Database | +-------------------+ | dongthanhinfo | | eda | | hocict | | knc | | mysql | | test | +---------------+ 8 rows in set (0.00 sec) ¾ Để tạo một databases trong MYSQL ta dùng lệnh “ create database db_name” mysql> create database baitap; Query OK, 1 row affected (0.01 sec) ¾ Chọn cơ sở dữ liệu để làm việc: mysql> use baitap; Database changed ¾ Lệnh để xóa một database là “drop database db_name” mysql> drop database baitap; Query OK, 0 rows affected (0.01 sec) ¾ Lệnh tạo table là “create table tbl_name” mysql> create table tblsach( -> idsach int not null auto_increment, -> tensach varchar(255) not null, -> primary key(idsach)); Query OK, 0 rows affected (0.02 sec) ¾ Lệnh đổi tên table là “alter table tbl_name rename new_tbl_name” mysql> alter table tblsach rename tablesach; Query OK, 0 rows affected (0.08 sec) ¾ Lệnh xóa table là” drop table tbl_name” mysql> drop table tblsach; Query OK, 0 rows affected (0.01 sec) Biên soạn: Lý Trần Thái Học

24

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

¾ Lệnh dùng thêm một trường dữ liệu (field) vào table là “alter table tbl_name add field_name fieldtype fieldsize null|not null”. Mỗi lần chỉ thêm được một field mysql> alter table tblsach add nhaxuatban varchar(250) not null; Query OK, 0 rows affected (0.07 sec) Records: 0 Duplicates: 0 Warnings: 0 ¾ Xóa một trường dữ liệu trong table ta dùng lệnh “alter table tbl_name drop field_name” mysql> alter table tblsach drop nhaxuatban; Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0 ¾ Chỉnh thuộc tính của một trường dữ liệu trong table ta dùng lệnh” alter table tbl_name modify fieldname fieldtype fieldsize” mysql> alter table tblsach modify tensach varchar(100); Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 ¾ Xem thông tin chi tiết của một table ta dùng lệnh “describe tbl_name” hoặc “desc tbl_name” mysql> describe tblsach; +-----------------+-----------------+-------+-------+----------------+-------------------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+-----------------+-------+-------+----------------+-------------------------+ | idsach | int(11) | | PRI | NULL | auto_increment | | tensach | varchar(100) | YES | | NULL | | +-----------------+-----------------+--------+------+----------------+-------------------------+ 2 rows in set (0.01 sec) ¾ Thêm dữ liệu vào table Cách 1: “insert into tbl_name values( values 1, values 2,…)”. Chú ý, các giá trị nhập vào phải theo thứ tự xuất hiện trong table. mysql> insert into tblsach values('','Lap trinh web PHP & MySQL'); Query OK, 1 row affected, 1 warning (0.00 sec) Cách 2: “insert into tb_name(field_name 1, field_name 2,…) values (values 1, values 2,..)” mysql> insert into tblsach(tensach) values('Quan tri mang 2003'); Query OK, 1 row affected (0.00 sec) ¾ Chỉnh sửa dữ liệu trong table ta dùng lệnh “update tbl_name set field_name = values where conditions”. Phần mệnh đề sau where có thể bỏ trống nhưng rất nguy hiểm. mysql> update tblsach set tensach='Quan tri mang Windows Server 2003' where idsach=2; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0

Biên soạn: Lý Trần Thái Học

25

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 ¾ Xóa dữ liệu trong table bằng lệnh “delete from tbl_name where conditions”. Có thể bỏ mệnh đề sau where nhưng rất nguy hiểm. mysql> delete from tblsach where idsach=3; Query OK, 1 row affected (0.02 sec) ¾ Truy vấn dữ liệu: Cú pháp: Select * | field_name,… From tbl_name 1, tbl_name 2,… Where condition 1, condition 2,… Order by field_name ASC |DESC Group by field_name Having condition 9 Select đơn giản: mysql> select * from tblsach; +--------+------------------------------------------------+ | idsach | tensach | +--------+------------------------------------------------+ | 1 | Lap trinh web PHP & MySQL | | 2 | Quan tri mang Windows Server 2003 | +--------+------------------------------------------------+ 2 rows in set (0.00 sec) 9 Câu lệnh select có sắp xếp dữ liệu mysql> select * from tblsach order by tensach ASC; +--------+------------------------------------------------+----------------+ | idsach | tensach | nhaxuatban | +--------+------------------------------------------------+----------------+ | 3 | Hon nhan va gia dinh | LD | | 1 | Lap trinh web PHP & MySQL | GD | | 2 | Quan tri mang Windows Server 2003 | GD | +--------+------------------------------------------------+----------------+ 3 rows in set (0.00 sec) 9 Câu lệnh select có điều kiện mysql> select * from tblsach where idsach>=2; +--------+------------------------------------------------+----------------+ | idsach | tensach | nhaxuatban | +--------+------------------------------------------------+----------------+ | 2 | Quan tri mang Windows Server 2003 | GD | | 3 | Hon nhan va gia dinh | LD | +--------+------------------------------------------------+----------------+ 2 rows in set (0.00 sec)

Biên soạn: Lý Trần Thái Học

26

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 9 Câu lệnh select tìm kiếm mysql> select * from tblsach where tensach like '%Quan tri mang Windows Server 2003%'; +--------+------------------------------------------------+----------------+ | idsach | tensach | nhaxuatban | +--------+------------------------------------------------+----------------+ | 2 | Quan tri mang Windows Server 2003 | GD | +--------+------------------------------------------------+----------------+ 1 row in set (0.03 sec) 9 Câu lệnh select lồng nhau mysql> select * from tblsach where idsach=(select max(idsach) from tblsach); +--------+------------------------------+----------------+ | idsach | tensach | nhaxuatban | +--------+------------------------------+----------------+ | 3 | Hon nhan va gia dinh | LD | +--------+------------------------------+----------------+ 1 row in set (0.01 sec) 9 Câu lệnh select có kết bảng mysql> select tensach,tentacgia from tblsach,tbltacgia where tblsach.idtacgia=tb ltacgia.idtacgia and tentacgia='Ly Tran Thai Hoc'; +------------------------------------------------+--------------------------+ | tensach | tentacgia | +------------------------------------------------+--------------------------+ | Lap trinh web PHP & MySQL | Ly Tran Thai Hoc | | Quan tri mang Windows Server 2003 | Ly Tran Thai Hoc | +------------------------------------------------+--------------------------+ 2 rows in set (0.00 sec) ¾ Hiển thị thông tin về table: Sau khi thực hiện kết nối và chọn database để làm việc, bạn dùng lệnh show tables để xem trong CSDL mình có bao nhiêu table. mysql> show tables; +----------------------+ | Tables_in_baitap | +----------------------+ | tblsach | +----------------------+ 1 row in set (0.00 sec) Bạn cũng có thể liệt kê thông tin chi tiết của table bằng lệnh Show table status ¾ Show table status: liệt kê thông tin về tất cả các table trong CSDL hiện tại. ¾ Show table status from db_name: liệt kê thông tin chi tiết các table có trong cơ sở dữ liệu db_name ¾ Show table status from db_name like ‘tbl_name’: liệt kê thông tin về tbl_name trong db_name ¾ Show table status like ‘tbl_name’: liệt kê thông tin về tbl_name trong CSDL hiện tại Lệnh Show table Status sẽ trả về các thông tin sau: ¾ Name: tên của table ¾ Engine: Kiểu của table (MyISAM, InnoDB,…) Biên soạn: Lý Trần Thái Học

27

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 ¾ Version: phiên bản của table ¾ Row_Format: định dạng kiểu dòng của table (Fixed, Dynamic hay Compress) ¾ Row: số lượng dòng có trong table ¾ Avg_row_length: độ dài trung bình của một dòng trong table ¾ Data_length: kích thước của file lưu trữ trong table ¾ Max_data_length: kích thước tối đa của file lưu trữ trong data ¾ Index_length: kích thước của file index ¾ Data_free: dung lượng được cấp phát nhưng chưa được sử dụng trong file ¾ Auto_increment: giá trị của tiếp theo của cột có kiểu AUTO_INCREMENT ¾ Create_time: thời điểm table được tạo ¾ Update_time: thời điểm table được sửa ¾ Collation: lưu trữ thông tin vể charset sử dụng trong table ¾ Checksum: giá trị kiểm tra checksum của table ¾ Create_Options: lưu trự các thông tin của lệnh create table ¾ Comment: thông tin chú thích về table

Biên soạn: Lý Trần Thái Học

28

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

CHƯƠNG 8: QUẢN TRỊ PHPMYADMIN PHPMyadmin là bộ công cụ dùng đề thao tác với MySQL trên giao diện Web một cách than thiện và dễ sử dụng. Để sử dụng bạn cần lên http://www.phpmyadmin.net/home_page/downloads.php để download về. Cài đặt: Tiến hành attract file vừa tải về, sau đó đổi lại tên là phpMyadmin, rồi copy thư mục phpmyadmin này bỏ vào thư mục wwwroot trong C:\inetpub hoặc C:\Appserv Sử dụng: Mở Internet Explorer gõ http://localhost/phpMyadmin bạn sẽ nhận được màn hình sau:

Sau đó bạn nhập user và mật khẩu dùng để kết nối với MySQL, ở đây là username là root và password cũng là root, bạn sẽ vào được phần quản trị của MySQL thông qua giao diện Web

Biên soạn: Lý Trần Thái Học

29

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

9 Tạo database mới: Nhập tên database vào phần Crete new database rồi bấm chuột vào collation chọn uft8_unicode_ci. Tùy chon utf8_unicode_ci cho phép cơ sở dữ liệu bạn thao tác được với kiểu Unicode.

Biên soạn: Lý Trần Thái Học

30

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

9 Xóa database: Để xóa database nào, bạn chọn database đó rồi chọn Drop

9 Tạo table: bạn nhập tên table ở phần Name và số trường dữ liệu trong table đó ở phần Number of fields, sau đó chọn Go

Tiếp theo, bạn cần phải nhập tên và kiểu dữ liệu cho từng trường dữ liệu rồi chọn Save Biên soạn: Lý Trần Thái Học

31

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

9 Xóa table: tương tự như xóa database, chỉ cần chọn table rồi chọn Drop 9 Sửa table: nếu cần chỉnh sửa thông tin về table, chỉ cần chọn table rồi chọn Change Tóm lại, thông qua phpMyadmin bạn sẽ dễ dàng thao tác hơn với cơ sở dữ liệu MySQL. PhpMyadmin là phần mềm dùng để giao tiếp với MySQL khá hay hiện nay.

Biên soạn: Lý Trần Thái Học

32

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

CHƯƠNG 9: LẬP TRÌNH FORM I. Phương thức $HTTP_GET_VARS: Phương thức này cho phép bạn lấy giá trị của các thẻ form ở trang trước. Các giá trị trong form được thể hiện qua URL. Ví dụ: Khai báo thẻ form: sử dụng phương thức GET

Lập trình Form - Trang Login sử dụng method GET

Username:
Password:


Hình minh họa: Form Login tại trang login.php Biên soạn: Lý Trần Thái Học

33

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 Khi người dùng nhập giá trị vào phần Username hoặc Password, nếu nhấn Submit thì trang process.php sẽ được triệu gọi. Trong trang process.php bạn có thể lấy giá trị nhập từ trang login.php bằng cách sử dụng phương thức $HTTP_GET_VARS Ví dụ:

Lập trình Form - $HTTP_GET_VARS

Username is:
Password is:


Chú ý: isset là hàm kiểm tra xem username và password có tồn tại hay không.

Hình minh họa trang process.php sử dụng phương thức $HTTP_GET_VARS Biên soạn: Lý Trần Thái Học

34

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 II. Phương thức $HTTP_POST_VARS: Cũng như phương thức $HTTP_GET_VARS là lấy giá trị form từ trang trước nhưng lúc này ở trang trước đó sử dụng phương thức POST và tại trang được triệu gọi sẽ không truyền tham số lên URL Ví dụ: Khai báo form Login: sử dụng phương thức POST

Lập trình Form - Trang Login sử dụng method POST

Username:
Password:


Hình minh họa trang login.php sử dụng phương thức POST Biên soạn: Lý Trần Thái Học

35

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 Tại trang process.php ta dùng phương thức $HTTP_POST_VARS để nhận tham số từ trang login.php truyền qua, lúc này ta nhận thấy các giá trị sẽ không được truyền trên URL Ví dụ:

Lập trình Form - $HTTP_POST_VARS

Username is:
Password is:


Hình minh họa dùng $HTTP_POST_VARS Biên soạn: Lý Trần Thái Học

36

Giáo trình lập trình Web với PHP&MYSQL CHƯƠNG 10: LẬP TRÌNH KẾT NỐI CSDL MYSQL

Version 1.0

I. Tạo kết nối CSDL Mysql_connect(hostname,username,password); Trong đó: 9 Hostname: địa chỉ máy cài MySQL. Nếu cài MySQL trên chính máy dùng để lập trình PHP thì hostname là localhost 9 Username: Tên dùng kết nối với cơ sở dữ liệu 9 Password: Mật khẩu kết nối với cơ sở dữ liệu. Ví dụ: Hàm này trả về 1 kết nối hoặc giá trị false nếu không kết nối được. II. Hàm thông báo lỗi của MySQL Ta dùng hàm mysql_error(); để thông báo lỗi khi dùng MySQL Ví dụ: III. Lệnh đóng kết nối với MySQL Ta dùng lệnh mysql_close(tên kết nối); Ví dụ: IV. Lệnh chọn CSDL MySQL có rất nhiều CSDL nên ta phải chọn ra 1 CSDL nào cần để thao tác. Để thực hiện ta dùng lệnh mysql_select_db(tên CSDL, tên kết nối); Ví dụ: V. Câu lệnh truy vấn: Để truy vấn CSDL MySQL ta dùng câu lệnh mysql_query(câu lệnh SQL); Hàm trả về giá trị true nếu truy vấn thành công (trừ câu lệnh select) Hàm trả về 1 recordset (bảng dữ liệu) nếu câu lệnh select truy vấn thành công Hàm trả về false nếu câu lệnh truy vấn không thực hiện được

Biên soạn: Lý Trần Thái Học

37

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 Ví dụ: VI. Lệnh duyệt Recordset Khi thực hiện truy vấn bằng câu lệnh select, nếu thành công ta sẽ nhận được 1 recordset. Ta phải dùng lệnh duyệt qua recordset này để lấy ra các giá trị mà ta cần. Lệnh duyệt recordset là mysql_fetch_array(recordset, mode); Hàm trả về 1 mảng có số phần tử bằng với số cột trong recordset. Các phần tử được đánh chỉ số theo số (MYSQL_NUM) hoặc theo key (MYSQL_ASSOC) hoặc cả hai (MYSQL_BOTH) Các mode sẽ là: 9 MYSQL_NUM: truy xuất mảng theo số 9 MYSQL_ASSOC: truy xuất theo key 9 MYSQL_BOTH: truy xuất theo cả 2 (đây là mode mặc định). Hàm sẽ nhân số phần tử trong mỗi hàng của recordset lên 2. Các phần tử đầu theo số, các phần tử sau theo key Ví dụ: VII. Đếm số dòng trong recordset: Để biết được số dòng trong recordset ta dùng lệnh mysql_num_rows(tên recordset); Ví dụ:

Biên soạn: Lý Trần Thái Học

38

Giáo trình lập trình Web với PHP&MYSQL

Version 1.0

CHƯƠNG 11: SESSION & COOKIE I. SESSION: Từ PHP 4.0 trở đi, đối tượng session được xem như một đối tượng cho phép bạn truyền giá trị từ trang PHP này sang trang PHP khác. Để sử dụng session, bạn khai báo thư mục được lưu trữ dữ liệu do đối tượng này ghi ra. Session được sinh ra và biến mất khi người sử dụng hủy chúng, thời gian sống của chúng đã hết hoặc người sử dụng đóng trình duyệt. Để khai báo thư mục lưu trữ session thì ta cấu hình trong tập tin php.ini với nội ddụng như sau: Session.save_path = C:\PHP\sessiondata Ngoài ra, khi muốn sử dụng session thì bạn phải khởi tạo chúng. Để khởi tạo session bạn có thể khởi tạo trong trang PHP mỗi khi truy cập hay gán giá trị cho session. Session_start(); Tuy nhiên, bạn cũng có thể cấu hinh trong php.ini với giá trị 1 là start và 0 là không start Session.auto_start = 0; 1. Nhận dạng session: Mỗi phiên làm việc được tạo ra từ Web Server thì sẽ có một nhận dạng duy nhất có giá trị là chuỗi do trình chủ Web tạo ra. Điều này có nghĩa là mỗi khi người sử dụng triệu gọi trang Web của Website lần đầu tiên thì phiên làm việc sẽ được tạo ra, khi đó một nhận dạng được cấp phát cho phiên làm việc đó. Để lấy gí trị nhận dạng của session do trình chủ Web cấp phát, ta sử dụng cú pháp sau: $s = session_id(); Ví dụ:



Hình minh họa lấy session id Biên soạn: Lý Trần Thái Học

39

Giáo trình lập trình Web với PHP&MYSQL Version 1.0 2. Khai báo session: Muốn khai báo session, bạn phải sử dụng hàm session_register có cú pháp như sau: $_session[‘sessionname’]; Khi muốn khởi tạo session, bạn có thể gán giá trị cho session này như giá trị cho biến trong PHP $_session[‘userid’] = “1”; Ví dụ:

SESSION REGISTER



3. Lấy giá trị của session: Sau khi khai báo khởi tạo và gán giá trị cho session, bạn có thể truy cập các biến session này để lấy giá trị trong trang PHP khác. Chẳng hạn, chúng ta lấy giá trị đã khai báo ở ví dụ trên thông qua trang getsssion.php Ví dụ:

GET SESSION

'; echo 'Fullname: '.$_SESSION['fullname'].'
'; echo 'Email: '.$_SESSION['email'].'
'; echo 'Telephone: '.$_SESSION['telephone'].'
'; ?> … 4. Hủy bỏ session: Khi không có nhu cầu sử dụng session nữa thì bạn sử dụng hàm session_destroy() để bỏ session không muốn dùng nữa hoặc hàm session_unset() để xóa bỏ tất các các session đang dùng. Biên soạn: Lý Trần Thái Học

40

Giáo trình lập trình Web với PHP&MYSQL II. COOKIE: Cookie cũng giống như session, tuy nhiên chúng được lưu trữ trên trình khách. 1. Gán giá trị cho cookie: Để gán giá trị cho cookie, ta sử dụng hàm setcookie(“cookie name”, “values”); Ví dụ:

Version 1.0

… 2. Lấy giá trị của cookie: Để lấy giá trị của cookie trước đó ta sử dùng hàm $HTTP_COOKIE_VAR[‘cookie name’] hoặc $_COOKIE[‘cookie name’] Ví dụ:

GET COOKIE



Biên soạn: Lý Trần Thái Học

41

Related Documents

Giao Trinh
April 2020 19
Lap Trinh
June 2020 25
Giao Trinh C++.pdf
July 2020 14
Giao Trinh Excel
June 2020 9