CÀI ĐẶT PHP
Download PHP
Bạn có thể download PHP for Windows tại địa chỉ: http://www.php.net/downloads.php.
- Nếu đường truyền bạn chậm thì bạn có thể download phần PHP 4.0.6 installer (755Kb):
chỉ có PHP-CGI
- Còn nếu muốn bạn có thể download trọn gói PHP về PHP 4.0.6 zip package (4.7Mb):
PHP-CGI và PHP-Module
Cài đặt PHP
Các bước chi tiết cài đặt PHP được minh hoạ như sau:
Bước 1: Sau khi download PHP, bạn double click lên file .exe vừa download, một hộp
thoại sẽ hiện ra như hình bên. Bạn click vào nút Next, rồi nhấn I Agree để sang bước 2.
Bước 2: Bạn chọn phần Advanced và nhấn Next để sang bước tiếp theo.
Bước 3,4,5: Bạn chọn thư mục để cài PHP, File upload và Session data, mặc định lần lượt
sẽ là C:\PHP, C:\PHP\uploadtemp và C:\PHP\sessiondata.
Cấu hình Apache để chạy PHP
Bạn hãy mở file httpd.conf của Apache ra (bạn còn nhớ file đó nằm đâu chứ? nếu quên bạn
hãy xem lại phần Cài đặt Apache) và thêm vào 3 dòng sau:
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
Tiếp theo bạn tìm đến dòng bắt đầu bằng DirectoryIndex, bạn sẽ thấy dòng đó có dạng như
sau:
DirectoryIndex index.html
Dòng đó cho bạn biết rằng file index.html được xem như là file index mặc định của một
thư mục. Bạn sửa lại dòng đó như sau:
DirectoryIndex index.html index.htm index.cgi index.php
Lưu file httpd.conf và khởi động lại Apache.
Chạy thử PHP với Apache
Bạn tạo 1 file test.php trong thư mục C:\www với nội dung như sau:
<?
echo "Test PHP!";
?>
Tiếp theo bạn mở IE và truy cập vào địa chỉ http://localhost/test.php. Nếu bạn nhận được
dòng chữ " Test PHP!" thì bạn đã cài đặt thành công CÀI ĐẶT MYSQL
Download mySQL
mục C:\mysql\bin. Nếu là lần đầu tiên bạn chạy file này sau khi cài đặt, một hộp thoại sẽ
hiện lên hỏi username và password của của người quản lý mySQL. Bạn nhập vào
username và mật mã tuỳ bạn chọn (tôi chọn username là root và mật mã là password).
Sau bước này, một icon hình đèn giao thông sẽ xuất hiện trên system tray của bạn. Nếu đèn
hiệu đang ở màu xanh thì xem như mọi chuyện đã êm đẹp. Cài đặt phpMyAdmin
phpMyAdmin là một chương trình mySQL Client rất mạnh được viết bằng PHP. Bạn có
thể dùng phpMyAdmin để truy cập vào database quản lý mySQL từ browser.Bạn có thể download phpMySQL ở đây:
http://sourceforge.net/project/showfiles.p...elease_id=63838
Nếu đang dùng Windows, bạn có thể download file zip phiên bản mới nhất 2.2.2 của
phpMyAdmin tại đây: http://prdownloads.sourceforge.net/phpmyad...n-2.2.2-php.zip
Sau khi download, bạn unzip các file vào thư mục c:\www\phpmyadmin. Sau đó bạn mở
file config.inc.php, tìm sửa các dòng sau.
tìm dòng bắt đầu bằng $cfgServers[1]['host'], sửa thành $cfgServers[1]['host'] = 'localhost';
(connect vào localhost) tìm dòng bắt đầu bằng $cfgServers[1]['user'], sửa lại thành $cfgServers[1]['user'] = 'root';
(root là username mà bạn đã tạo ở trên)
Thì khi này, tuỳ thuộc trước đó, bạn đặt giá trị gì vào biến $hoten mà đoạn mã
HTML trên được kết xuất theo một kiểu. Giả sử bạn đặt $hoten=aaaa thì server sẽ
đưa giá trị aaa vào thay thế cho đoạn mã <? echo $hoten ?>. Kết quả là, bạn sẽ có
một đoạn mã HTML như sau:
CODE
<b>Bạn tên là: aaaa </b>
Khi một ai đó view source trang web sẽ nhận được đúng đoạn mã
CODE
<b>Bạn tên là: aaaa </b>
chứ không thể xem được mã nguồn
CODE <b>Bạn tên là: <? echo $hoten ?></b>
VD:
<html>
<head>
<title>Example</title>
</head>
<body>
<?php echo "Hi, I'm a PHP script!"; ?>
</body>
</html>
3. <script language="php">
echo ("some editors (like FrontPage) don't
like processing instructions");
</script>
4. <% echo ("You may optionally use ASP-style tags"); %>
<%= $variable; # This is a shortcut for "<%echo .." %>
Cách 1 chỉ có thể sử dụng nếu những tag ngắn được cho phép sử dụng. Có thể sửa
short_open_tag trong cấu hình của php hoặc biên dịch file php với lựa chọn cho
phép dùng các tag ngắn.
Tương tự như vậy, cách thứ 4 chỉ có tác dụng nếu asp_tag được đặt trong file cáu
hình của PHP
PHP cho phép hỗ trợ các kiểu chú thích của cả C, C++ và Unix shell.
VD:
<?php
echo "This is a test"; // This is a one-line c++ style comment
/* This is a multi line comment
yet another line of comment */
echo "Another Test"; # This is shell-style style comment
?>
2. Các kiểu dữ liệu:
2.1Số nguyên : Được khai báo và sử dụng giá trị giiống với C:
VD: $a = 1234; # decimal number
$a = -123; # a negative number
$a = 0123; # octal number (equivalent to 83 decimal)
$a = 0x12; # hexadecimal number (equivalent to 18 decimal)
2.2 Số thực:
echo "This will work: " . $a[3][bar];
Với PHP4, vấn đề sẽ được giả quyết bằng cách cho mảng vào giữa 2 dấu ngoặc
móc { }
VD : $a[3]['bar'] = 'Bob';
echo "This will work: {$a[3][bar]}";
PHP không yêu cầu phải khai báo trước kiểu dữ liệu cho các biến, Kiểu dữ liệu của
biến sẽ phụ thuộc vào kiểu dữ liệu mà bạn gán cho nó,
VD :
$foo = "0"; // $foo là kí tự ASCII 48
$foo++; // $foo is xâu "1" (ASCII 49)
$foo += 1; // $foo là số nguyên (2)
$foo = $foo + 1.3; // $foo là số thực (3.3)
$foo = 5 + "10 Little Piggies"; // $foo là số nguyên (15)
3. Biến - giá trị:
PHP quy định một biến được biểu diễn bắt đầu bằng dấu $, sau đó là một chữ cái
hoặc dấu gạch dưới.
3.1 Một số biến đã được tạo sẵn :
argv : Mảng tham số truyền cho script. Khi đoạn script chạy bằng dòng lệnh, tham
số này sẽ được dùng giống như C để truy nhập các tham số trên dòng lệnh.
argc : số các tham số đựoc truyền. Dùgn với argv;
PHP_SELF : tên cỷa đoạn mã script đang thực hiện. Nếu PHP đang được chạy từ
dòng lệnh thì tham số này không có giá trj.
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ặc chỉ
PHP
VD ở trên sẽ có thể viết như sau:
$a = 1;
$b = 2;
Function Sum () {
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}
Sum ();
echo $b;
Một chú ý khác là khai báo static. Với khai báo này bên trong một hàm với 1 biến
cục bộ, giá trị của biến cục bộ đó sẽ không bị mất đi khi ra khỏi hàm.
VD :
Function Test () {
static $a = 0;
echo $a;
$a++;
}
Với khai báo như trên , $a sẽ không mất đi giá trị sau khi thực hiện lơi gọi hàm
Test() mà $a sẽ được tăng lên 1 sau mỗi lần gọi hàm Test().3.3 Tên biến:
Một biến có thể gắn với 1 cái tên .
VD:
$a = "hello";
$$a = "world";
==> $hello = "world"
$HTTP_GET_VARS
IMAGE SUBMIT:
Khi dùng 1 image để thực hiện submit, có thể dùng tag như sau:
<input type=image src="image.gif" name="sub">
Khi người dùng click chuột trên ảnh, form tương ứng sẽ được gửi tới server kèm
theo 2 giá trị thêm vào : sub_x và sub_y. Những biến này sẽ lưu giữ toạ đọ mà
người dùng đã click chuột trên ảnh. Người lạp trình có kinh nghiệm sẽ thấy rằng
trên thực tế, trình duyệt gửi các giá trị có chu kỳ thời gian nhưng PHP đã tạo cảm
giãc gần như việc gửi các giá trị đó là liên tục.HTTP Cookies :
PHP hỗ trỡ HTTP cookies theo định dạng của Netscape. Cookies file lưu giữ thông
tin của các trình duyệt từ xa và qua đó có thể theo dõi hay nhận biết người sử dụng.
Có thể dùng Cookies bằng hàm SetCookie(). Hàm này cần được gọi trước khi
thông tin được gửi tới trình duyệt. Bất kỳ cookie nào gửi tới bạn từ máy khách
(client) sẽ tự động chuyển thành dữ liệu của phương thức GET và POST.
Nếu bạn muốn có nhiều giá trị trong 1 cookie, chỉ cần thêm vào dấu [ ] với tên của
cookie.
VD :
SetCookie ("MyCookie[]", "Testing", time()+3600);
Chú ý rằng cookie sẽ thay thế cho cookie cùng tên, trừ trườg hợp khác đường dẫn
hoặc miền.
BIẾN MÔI TRƯỜNG:
PHP tự động tạo biến cho các biến môi trường như 1 biến bình thường của PHP
VD :
echo $HOME; /* Shows the HOME environment variable, if set. */
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
?>
5. BIỂU THỨC
Biểu thức là một phần quan trọng trong PHP. Phần lớn mọi thứ ban viết đều được
coi như 1 biểu thức. Điều này có nghĩa là mọi thứ đều có 1 giá trị.
Một dạng cơ bản nhất của biểu thức bao gồmcá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ị trả
ra của các hàm.
Bạn có thể thao tác với các biến trong PHP giống như với trong C.
VD
$b = $a = 5; /* assign the value five into the variable $a and $b */
$c = $a++; /* post-increment, assign original value of $a
(5) to $c */
$e = $d = ++$b; /* pre-increment, assign the incremented value of
$b (6) to $d and $e */
/* at this point, both $d and $e are equal to 6 */
$f = double($d++); /* assign twice the value of $d before
the increment, 2*6 = 12 to $f */
$g = double(++$e); /* assign twice the value of $e after
the increment, 2*7 = 14 to $g */
$h = $g += 10; /* first, $g is incremented by 10 and ends with the
value of 24. the value of the assignment (24) is
then assigned into $h, and $h ends with the value