1. Trang chủ
  2. » Công Nghệ Thông Tin

Hướng dẫn lập trình php

24 702 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hướng Dẫn Lập Trình PHP
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Hướng Dẫn
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 24
Dung lượng 191 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hướng dẫn lập trình php

Trang 1

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): CGI và PHP-Module

PHP-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

Bước 6: Bạn điền địa chỉ SMTP và email của admin Nếu chạy trên máy local bạn đặt là localhost và admin@localhost Nhấn Next để sang bước tiếp theo

Bước 7: Bạn chọn phần đầu tiên: Display all errors warnings and notices và nhấn Next để sang bước tiếp theo

Bước 8: Bạn chọn kiểu web server thích hợp (ở đây là Apache) và nhấn Next, rồi lại Next một lần nữa để bắt đầu cài đặt

Bước 9: Bạn chỉ có việc ngồi chờ trong khi chương trình cài đặt copy các file lên đĩa cứng của bạn

Trang 2

Lưu ý: Sau khi copy file xong, rất có thể PHP sẽ báo là không thể update được file httd.conf của Apache Bạn đừng lo lắng, hãy nhấn OK để tiếp tục, chúng ta sẽ cấu hình Apache sau.

Bước 10: Sau khi PHP đã cài đặt xong, bạn nhớ khởi động lại máy trước khi tiếp tục

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:

Bạn có thể download mySQL for Windows tại địa chỉ:

http://www.mysql.com/downloads/index.html Phiên bản hiện tại vào thời điểm bài tutorial này được viết là version 3.23, bạn có thể download trực tiếp tại đây: http://www.mysql.com/Downloads/MySQL-3.23/ 3.23.46-win.zip (12Mb)

Cài đặt mySQL

Các bước chi tiết cài đặt mySQL được minh hoạ như sau (tôi dùng Win98SE và mySQL 3.23.42for Windows)

Bước 1: Sau khi download mySQL, unzip các file vài một thư mục nào đó và chạy file

setup.exe để bắt đầu cài đặt (xem hình bên) Bạn nhấn Next hai lần để sang bước 2

Bước 2: Bạn chọn thư mục để cài đặt mySQL, mặc định là C:\mysql Nhấn Next để sang bước tiếp theo

Trang 3

Bước 3: Bạn chọn phần Custom và nhấn Next để sang bước tiếp theo.

Bước 4: Bạn nhấn Next để sang bước tiếp theo, và tiếp tục nhấn Next để bắt đầu cài đặt mySQL

Bước 5: Sau khi mySQL đã cài đặt xong, bạn hãy chạy file winmysqladmin.exe trong thư 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

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)

tìm dòng bắt đầu bằng $cfgServers[1]['password'], sửa lại thành $cfgServers[1]['password'] ='password'; (password là mật mã bạn đã tạo ở trên)

Lưu lại file config.inc.php, mở IE và truy cập vào địa chỉ

http://localhost/phpmyadmin/index.php Nếu bạn nhận được màn hình chào đón của

Trang 4

cho trang web trở nên tương tác với người sử dụng Tôi lấy ví dụ: Nếu bạn có một trang web, và muốn rằng, mỗi khi có người đến thăm trang web, thì một thành phần trang web thay đổi, cụ thể là tăng lên một đơn vị (tôi đang lấy ví dụ về counter), khi

đó, dùng HTML không thể đáp ứng được yêu cầu nêu ra Bạn sẽ cần một NNLT nào

đó (nếu ko muốn dùng hàng có sẵn) Javascript là một client script - nghĩa là nó tương tác trực tiếp ở mức độ client, không cần thông qua server Còn php,hoặc asp là các server script nghĩa là: các mã lệnh do bạn viết sẽ được server đọc, dịch ra thành các mã HTML và trả về cho trình duyệt ( không như các NNLT khác - not web - là trả

về mã máy) Bạn dễ dàng nhận thấy điều thứ nhất:

* Sử dụng PHP (ASP) sẽ không bị lộ mã nguồn (php code) Vì khi ai đó view source trang web của bạn, sẽ chỉ nhận được các mã HTML do server trả về sau khi thông dịch các mã php

Tôi lấy ví dụ

CODE

<b>Bạn tên là: <? echo $hoten ?></b>

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

2 Cài đặt như thế nào?

Cài PHP trên nền Window với IIS version 3 hoặc 4:

- Copy php.ini - dist vào thư mục Window Đổi tên thành php.ini

- Sửa file php.ini như sau:

- Đặt lại đường dẫn mục : 'extension_dir' chuyển tới vị trí cài đặt php hoặc nơi để các file php_*.ini VD : c:php

Trang 5

- Đặt đường dẫn chính xác đến file: browscap.ini trong thư mục Window.

- Chạy MMC , chọn Web site hoặc thư mục của ứng dụng

- mở mục Property của thư mục , chọn vào Home Directory, Virtual Directory hay Directory

- Vào mục: Configuration->App Mappings ->Add->Executable : c:phpphp.exe %s %s Chú ý phải có %s %s

- Trong ô Extension, đánh đuôi file bạn muốn gắn với mã php Thường là php

1 <? echo ("this is the simplest, an SGML processing instructionn"); ?>

2 <?php echo("if you want to serve XML documents, do like thisn"); ?>

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

$a = 0123; # octal number (equivalent to 83 decimal)

$a = 0x12; # hexadecimal number (equivalent to 18 decimal)

Trang 6

từng phần iử trong mảng để tạo mảng Có thể thêm các giá trị vào mảng để tạo thành 1 mảng > Dùng giống trong C

Có thể dùng các hàm asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), and uksort() để sắp xếp mảng Tuỳ thuộc vào việc bạn định sắp xếp theo kiểu gì

b Mảng nhiều chiều: Tương tự C bạn có thể dùng như VD sau:

$a[1] = $f; # one dimensional examples

$a["foo"] = $f;

$a[1][0] = $f; # two dimensional

$a["foo"][2] = $f; # (you can mix numeric and associative indices)

$a[3]["bar"] = $f; # (you can mix numeric and associative indices)

PHP3 không thể tham chiếu trự tiếp từ một mảng nhiều chièu khi ở bên trong 1 xâu:

VD :

$a[3]['bar'] = 'Bob';

echo "This won't work: $a[3][bar]";

Kết quả trả ra sẽ là: This won't work: Array[bar]

Nhưng với VD sau sẽ chạy đúng:

$a[3]['bar'] = 'Bob';

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ònglệ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ỉ dẫn <?php_track_vars?>

HTTP_GET_VARS: Mảng các giá trị truyền tới script thông qua phương thức HTTP GET Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặt hoặc chỉ dẫn <?php_track_vars?>

HTTP_POST_VARS:

3.2 Phạm vi giá trị:

PHP coi 1 biến có một giới hạn Để xác định một biến toàn cục (global) có tác dụng trong một hàm , ta cần khai báo lại Nếu không giá trị của biến sẽ được coi như là cục

Trang 7

Một cách khác để dùng biến toàn cục trong 1 hàm là ta dung mảng $GLOBAL của PHP

VD ở trên sẽ có thể viết như sau:

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

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()

echo "$a ${$a}";

<==> echo "$a $hello";

Kết quả ra sẽ là : hello world

Chú ý : bạn có thể gặp phải trường hợp không rõ ràng khi sử dụng cách này với mảng VD : $$a[1] sẽ hiểu là bạn muốn dùng $a[1] như 1 biến hay dùng $$a như 1 biến với [1] là chỉ số?

Để tránh trường hợp này , cần có sựu phân biệt rõ bằng dấu { } VD :${$a[1]} hoặc $

Trang 8

3.4 Các giá trị bên ngoài phạm vi PHP

HTML Form : khi 1 form gắn với 1 file php qua phương thức POST

VD:

<form action="foo.php3" method="post">

Name: <input type="text" name="name"><br>

<input type="submit">

</form>

PHP sẽ tạo 1 biến $name bao gồm mọi giá trị trong truờng Name của Form

PHP có thể hiểu được một mảng một chiều gồm các giá trị trong 1 form Vì vậy, bạn

có thể nhóm những giá trị liên quan lại với nhau hoặc sử dụng đặc tính này để nhận các giá trị từ 1 đầu vào tuỳ chọn.(multi select input)

Khi tính chất track_vars được đặt trong cấu hình hoặc có chỉ dẫn <?php_track_vars?> các giá trị được submit được lấy ra qua phương thức GET và POST có thể lấy từ 2 mảng toàn cục $HTTP_POST_VARS và $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ìnhduyệ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 */

Vì thông tin tới qua các phương thức GET, POST , Cookie cũng tự đông tạo các biến PHP, thỉnh thoảng bạn nên đọc 1 biến từ môi trường để chắc chắn rằng bạn có đúng version Hàm getenv() và putenv() giúp bạn đọc và ghi với các biến môi trường.DẤU CHẤM TRONG TÊN BIẾN:

Bình thường, PHP không thay đổi tên biến khi biến đó được truyền vào đoạn script Tuy nhiên, nên chú ý rằng dáu chấm (.) không phải là một ký hiệu hợp lệ trong tên biến đối với PHP Vì vậy, PHP sẽ tự động thay thế các dấu chấm bằng dấu gạch dưới.(_)

4 CONSTANTS

Trang 9

PHP định nghĩa sẵn một vài hằng số:

_FILE_ : tên của script file đang được thực hiện

_LINE_ : số dòng của mã script đang được thực hiện trong script file hiện tại

_PHP_VERSION_ : version của PHP

_PHP_Ó : tên hệ điều hành mà PHP đang chạy

TRUE

FALSE

E_ERROR : báo hiệu có lỗi

E_PARSE : báo lỗi sai khi biên dịch

E_NOTICE : Một vài sự kiện có thể là lỗi hoặc không

E_ALL :

Có thể định nghĩa một hằng số bằng hàm define()

VD :

<?php

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

of 24 as well */

6.CÁC CẤU TRÚC LỆNH:

6.1 If else else if:

if (điều kiện) { do something; }

elseif ( điều kiện ) { do something;}

Trang 10

foreach(array_expression as $key => $value) statement

6.3 break và continue:

break : thoát ra khỏi vòng lặp hiện thời

continue : bỏ qua vòng lặp hiện tại, tiếp tục vòng tiếp theo

6.4 switch

switch (tên biến) {

case trường hợp 1: break;

case trường hợp 2: break;

case trường hợp 3: break;

function makecoffee ($type = "cappucino") {

return "Making a cup of $type.n";

}

Chú ý : khi sử dụng hàm có đối số có giá trị mặc định, các biến này sẽ phải nằm về phía phải nhát trong danh sách đối số

VD : Sai

function makeyogurt ($type = "acidophilus", $flavour) {

return "Making a bowl of $type $flavour.n";

}

Đúng;

function makeyogurt ($flavour, $type = "acidophilus") {

return "Making a bowl of $type $flavour.n";

}

7.4 Giá trị trả lại của hàm:

Có thể là bất kỳ giá trị nào, Tuy vây, không thể trả lại nhiều giá trị riêng lẻ nhưng có thể trả lại một mảng các giá trị

Trang 11

function bar( $arg = '' ) {

echo "In bar(); argument was '$arg'.<br>n";

Các toán tử logic : and or xor ! && ||

Toán tử thao tác với bit : & | ^ ~ << >>

Toán tử so sánh : ==, != ,< ,> ,<=, >=, ==== (bằng va cùng kiểu - PHP4 only), !

== (khác hoặc khác kiểu - PHP4 only)

Toán tử điều khiển lỗi : @ - khi đứng trước 1 biểu thức thì các lỗi của biểu thức sẽ bị

bỏ qua và lưu trong $php_errormsg

VD:

<?php

/* Intentional SQL error (extra quote): */

$res = @mysql_query ("select name, code from 'namelist") or

die ("Query failed: error was '$php_errormsg'");

var $items; // Items in our shopping cart

// Add $num articles of $artnr to the cart

function add_item ($artnr, $num) {

$this->items[$artnr] += $num;

}

// Take $num articles of $artnr out of the cart

function remove_item ($artnr, $num) {

Trang 12

Các hàm khởi tạo của lớp được gọi tự động khi bạn gọi toán tử new.

Tuy nhiên, các hàmkhởi tạo của lớp cha sẽ không được gọi khi hàm khởi tạo của lớp con được gọi Hàm khởi tạo có thể có đối số hoặc không,

10 THAM CHIẾU:

Tham chiếu trong PHP có nghĩa là lấy cùng 1 giá trị bằng nhiều tên biến khác nhau Khác với con trỏ trong C, tham chiếu là một bảng các bí danh Chú ý : trong PHP, tên biến và nôi dung của biến là khác nhau Vì vậy, cùng 1 nội dugn có thể có nhiều tên khác nhau

Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nôi dung

VD :

$a = & $b; > $a, $b trỏ tới cùng 1 giá trị

Tham chiếu truỳen giá trị bằng tham chiếu Thực hiện việc này bằng cách tạo một hàm cục bộ và truyền giá trị được tham chiếu

Ngày đăng: 25/08/2012, 08:58

TỪ KHÓA LIÊN QUAN

w