Chương 3 phần 2 Apache & MySQL & PHP

Apache & MySQL & PHP

Web tĩnh và web động

Trang web tĩnh:

9 Mọi người sử dụng nhận được kết quả

giống nhau.

9 Trang web được viết bằng HTML, chỉ

thay đổi khi có sự thay đổi của người

xây dựng

9 Khả năng tương tác yếu

9 Webserver hoạt động giống 1 file

server.

Trang web động:

9 Mỗi người sử dụng có thể nhận được nội dung

khác nhau phụ thuộc vào kết quả chạy chương

trình.

9 Trang web viết bằng HTML + Ngôn ngữ lập

trình phía server. Có thể được thay đổi bởi

người sử dụng

9 Khả năng tương tác mạnh

Một số công nghệ viết web động

9 Động phía client:

– JavaScript, VBScript được chạy ở client.

–Applet

–Flash

9 Động phía server:

– CGI: Common Gateway Interface

– Java Server Pages

– ASP, ASP.NET: Microsoft

•Viết bằng VBScript, JavaScript chạy phía server.

•Sử dụng web server IIS.

–PHP: Mã nguồn mở

• Ngôn ngữ lập trình PHP, chạy phía server.

• Webserver: Apache, IIS

•Bộ biên dịch: PHP

–Perl

Cài đặt và cấu hình các phần mềm

9 Web server: Chọn 1 trong 2

– IIS (Internet Information Service) – tích hợp trong

Win 2000, XP, 2003, Vista.

– Apache: http://www.apache.org

9 Biên dịch: PHP: http://www.php.net

9 Hệ quản trị CSDL: MySQL www.mysql.com

9 Hỗ trợ quản lý CSDL MySql

– MySql Control

– PHPMyAdmin (web)

– SQL Manager

– Navicat MySQL

9 Hỗ trợ soạn thảo:

– PSpad, Ediplus

– Macromedia Dreamweaver

9 Phần mềm khác:

–Bộ gõ: Unikey, Vietkey bản đầy đủ

– Adobe Photoshop

– Xara3D…

Cài đặt  Apache & MySQL & PHP

Giới thiệu Apache

9 Là một WEB Server miễn phí được phát triển theo

chuẩn mã nguồn mở.

9 Apache chạy được trong cả hai môi trường Linux

và Windows.

9 Có thể download phiên bản mới nhất của Apache

tại địa chỉ: http://www.apache.org

9 Các phiên bản 1.x và 2.x (mới nhất) khác nhau

về kiến trúc. Chi tiết xin xem trong feature log.

Để cài đặt Apache trong Windows bằng chương trình cài đặt

tự động, cần download chương trình này về từ website của

Apache. Thông thường những chương trình dạng này sẽ

không hỗ trợ giao thức https.

Quá trình cài đặt sẽ tự động sao chép tất cả các file cần

thiết vào thư mục chỉ định.

Có thể sử dụng chương trình quản lý ở mức dịch vụ để

start, stop, restart, reload Apache hoặc khởi động bằng tay.

Trang PHP đầu tiên

9 Soạn thảo:

–Mở trình soạn thảo gõ nội dung dưới đây

–Ghi lại với tên “CHAO.PHP” trong thư mục gốc của web (Nếu sử dụng

Wamp thì thường là C:\Wamp\www)

Giới thiệu MySQL

Là một hệ quản trị cơ sở dữ liệu miễn phí được

phát triển theo chuẩn mã nguồn mở.

MySQL chạy được trong cả hai môi trường Linux

và Windows.

Có thể download phiên bản mới nhất của MySQL

tại địa chỉ: http://www.mysql.com

Các phiên bản 3.x, 4x và 5.x (mới nhất) khác

nhau về kiến trúc. Chi tiết xin xem trong feature

log.

Giới thiệu PHP

9 Là một ngôn ngữ lập trình server-side miễn phí được phát

triển theo chuẩn mã nguồn mở. PHP ra đời từ sự viết tắt

của cụm từ Personal Home Page. Nhưng hiện nay PHP được

coi là sự chơi chữ của việc viết tắt đệ quy cụm từ PHP:

Hypertext Preprocessor.

9 PHP chạy được trong cả hai môi trường Linux và Windows.

Có thể download phiên bản mới nhất của PHP tại địa chỉ:

http://www.php.net

9 Các phiên bản 4x và 5.x (mới nhất) khác nhau về kiến trúc.

Chi tiết xin xem trong feature log.

Ngôn ngữ lập trình PHP

Là ngôn ngữ lập trình dạng server-side, vì vậy

PHP ngoài các khả năng của một ngôn ngữ lập

trình thuần túy còn có đầy đủ các chức năng cần

thiết của một CGI chuẩn như: Lấy dữ liệu từ

form, sinh các trang web động, gửi nhận cookie,

hỗ trợ session, thao tác với biến của WEB Server.

PHP cũng có hệ thống thư viện hàm đồ sộ giúp

cho các lập trình viên có nhiều lựa chọn trong

việc sửa dụng PHP để kết nối với nhiều phần

mềm khác nhau như: Oracle, MySQL, ODBC,

LDAP, Mail (SMTP, POP3), COM, .Net…

Cú pháp cơ bản

PHP mỗi khi thông dịch một file sẽ chỉ thi hành những khối

lệnh nằm giữa 2 cặp thẻ <?php và ?>

Mọi ký tự nằm ngoài các cặp thẻ trên đều được giữ nguyên

và thêm vào trong luồng siêu văn bản trả về cho môi

trường bên ngoài theo đúng thứ tự ban đầu.

Nói chung, cú pháp trong PHP được thừa kế từ cú pháp của

C, C++ và Perl. Tuy nhiên, cũng có một số kết hợp và thay

đổi từ các cú pháp gốc tạo ra nét đặc thù riêng cho PHP.

Để tạo ra các kết xuất trả về cho môi trường bên ngoài (trình

duyệt) ta có thể sử dụng các cách sau:

–Viết kết xuất bên ngoài cặp thẻ <?php và ?>

– Dùng lệnh echo hoặc print

Để tạo ra chú thích, có thể dùng cú pháp dạng C như sau:

– //  Để chú thích dòng

– /*   */  Để chú thích khối

Lệnh của PHP kết thúc bởi dấu chấm phẩy (;) và có thể viết nhiều

lệnh trên một dòng.

Lưu ý không giống C, C++ trình thông dịch của PHP chỉ phân biệt

hoa thường với tên biến, tên hằng. Còn tên hàm (có sẵn hoặc do

người dùng định nghĩa) và từ khóa thì không phân biệt.

Biến

9 Định nghĩa biến

–Biến trong PHP được bắt đầu bởi ký tự $, sau đólàtên biến

được định nghĩa theo văn phạm sau:

[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

–Tên biến có phân biệt hoa thường. Có thể gán giá trị vào biến

mà không cần khai báo. Nhưng chỉ có thể truy cập nội dung

biến đã có giá trị.

– Để xác định biến tồn tại hay không có thể dùng hàm isset() và

để hủy biến có thể dùng hàm unset()

– Để xác định kiểu hiện tại của biến có thể sử dụng hàm

gettype(), var_dump() hoặc các hàm is_var_type().

9 Phạm vi truy cập biến:

–Biến cục bộ hàm: Chỉ được sử dụng trong thân các hàm do

người dùng định nghĩa

–Biến toàn cục: Được sử dụng bên ngoài thân các hàm do người

dùng định nghĩa. Để truy cập được các biến này trong thân các

hàm, cần phải dùng từ khóa global để khai báo hoặc thông qua

biến mảng siêu toàn cục $GLOBALS.

–Biến siêu toàn cục: Là các biến được định nghĩa trước của PHP

có thể được truy cập tại mọi nơi, mọi ngữ cảnh.

–Biến tĩnh: Được sử dụng như biến tĩnh trong C++. Biến tĩnh có

thể được định nghĩa trong hàm và lớp.

9 Truy cập giá trị biến:

– Để truy cập giá trị biến chỉ cần dùng cú pháp $var_name. Biến

kiểu mảng cần thêm cặp ký tự [ ] để truy cập vào giá trị các

phần tử trong mảng.

– Tuy nhiên trong nhiều trường hợp phải sử dụng thêm cặp

ngoặc nhọn { } hoặc ký tự & để có thể xác định chính xác tên

biến cần truy cập

$a = ‘hello’; $b = ‘every’;

$c = &$b; $d = ‘b’;

echo “$a $bone.”; echo “$a ${b}one.”;

echo “$a {$c}one.”; echo “$a $$d”;

echo “$a {$$d}one.”;echo “$a ${$d}one.”;

9 4.2.4 Biến bên ngoài PHP:

–Biến form: Được truy cập thông qua các biến mảng siêu toàn

cục được định nghĩa trước là $_POST, $_GET, $_COOKIE,

$_REQUEST, $_FILES. Nếu khai báo register_global được bật

trong php.ini thì tự động các biến có tên tương ứng cũng được

tạo ra.

–Biến session: Được truy cập thông qua các biến mảng siêu

toàn cục được định nghĩa trước là $_SESSION.

–Biến server: Được truy cập thông qua các biến mảng siêu toàn

cục được định nghĩa trước là $_SERVER, $_ENV.

Kiểu dữ liệu

9 PHP hỗ trợ nhiều kiểu dữ

liệu phổ thông như các

ngôn ngữ lập trình khác

(được liệt kê bên phải).

9 Trên thực tế, PHP không

định kiểu tuyệt đối cho các

biến mà tùy vào từng ngữ

cảnh, biến sẽ được quyết

định là có kiểu nào tương

ứng.

9  Để ép kiểu có thể dùng cú

pháp như của C hoặc dùng

hàm settype().

9 Kiểu vô hướng

– boolean

–interger

–float

–string

9 Kiểu có cấu trúc

–array

–object

9 Kiểu đặc biệt

–resource

–NULL

9 …

9 Kiểu boolean

–Tập xác định:  { true, false }

–Toán tử liên quan:

<  > <= >= == != === !=== && || and or xor (bool)

9 Kiểu interger

–Tập giá trị: { (-231) … (231 –1) }

9 Kiểu interger

–Toán tử liên quan:

& | ^ ~ + - * / % ++ -- << >>

&= |= ^= += -= *= /= %= <<= >>= (int)

9 Kiểu float

–Tập xác định: { (-1,8 x 10308) … (1,8 x 10308) }

9 Kiểu float

–Toán tử liên quan: Giống kiểu interger

9 Kiểu string

–Cách xác định

• Đặt trong cặp nháy đơn ‘ ’: Các ký tự giữa hai dấu nháy

đơn được xử lý như văn bản thuần túy, chỉ có duy nhất 1

ký tự metacharacter có hiệu lực là ký tự \

• Đặt trong cặp nháy kép “ ”: Các ký tự giữa hai dấu nháy

kép được tiền xử lý trước khi được coi như một xâu thực

sự.

9 Kiểu string

–Toán tử liên quan: . .= [ ]

9 Kiểu array

–Kiểu array là kiểu có cấu trúc rất mạnh của PHP, nó cho

phép lập trình viên có thể truy cập vào các phần tử

trong mảng thông qua cơ chế chỉ số rất linh hoạt.

–Toán tử liên quan: +

–Vídụ

$arr = array("test" => array(6 => 5, 13 => 9, "a" =>

42));

echo $arr["test"][6];    // 5

echo $arr["test"][13];   // 9

echo $arr["test"]["a"];  // 42

Hằng

9 Được định nghĩa bởi cấu trúc define.

9 Tên hằng phân biệt hoa thường.

9 Phạm vi sử dụng giá trị của hằng là siêu toàn

cục.

9 Giá trị của hằng phải là kiểu vô hướng.

9 Ví dụ

define("CONSTANT", "Hello world.");

echo CONSTANT; // outputs "Hello world."

Hàm

9 Khai báo hàm trong PHP gần giống như khai báo

trong C. Hàm trong PHP cũng cho phép đệ quy,

lồng nhau. Tuy nhiên, cũng có một số điểm khác

biệt:

– Định nghĩa hàm trong PHP thay kiểu trả về khi khai báo

bằng từ khóa function.

– Tên hàm không phân biệt hoa thường khi gọi. Phạm vi

truy cập là siêu toàn cục.

9 Tham số trong lời gọi hàm có thể có giá trị mặc

định. Giá trị được truyền vào theo dạng ByVal, để

tham số được truyền vào theo dạng ByRef cần

dùng ký tự &

9Ví dụ:

function foo() {

echo "In foo() ";

}

function bar($arg = ''){

echo "In bar(); argument: '$arg'";

}

function echoit($string){

echo $string;

}

$func = 'foo'; $func();      // This calls foo()

$func = 'bar';   $func('test');// This calls bar()

$func = 'echoit';$func('test');// This calls echoit()

Kết nối với MySQL

$db = mysql_connect('Máy chủ','username',

'pwd') or die(‘Không kết nối được với máy

chủ');

mysql_query("SET NAMES 'utf8'");

mysql_query("SET CHARACTER SET 'utf8'");

mysql_select_db('CSDL', $db) or die('Không tìm

thấy CSDL');

$sql = ‘Câu lệnh truy vấn SQL’;

$rs  = mysql_query($sql);

for ($i = 0; $i < mysql_num_rows($rs); $i++) {

$rc = mysql_fetch_array($rs);

echo $rc[‘Trường thứ nhất’];//Cột đầu tiên

echo $rc[1];//Cột thứ hai

echo $rc[‘Trường thứ ba’];//Cột thứ 3

}

Bạn đang đọc truyện trên: truyentop.pro

Tags: #tan