Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải

Kiến trúc cơ bản

Kiến trúc căn bản nhất để trang Dynamic Web hoạt động được là nó phải làm việc

trên mô hình client/server. Nôm na là mỗi thứ client hay server đều đảm đương một

chức năng riêng để hoàn thành công việc chung đó là cho ra một trang Web động.

Các bạn có lẽ đã quen thuộc với chương trình WinWord để soạn văn bản, nó có thể

hoạt động độc lập trên bất kỳ máy tính nào chẳng cần quan tâm tới cái gì là client hay

cái gì là server. Ứng dụng Web thì khác hẳn, phải có một mô hình server có thể làmột máy tính làm server thôi, nhằm tập trung hoá việc xử lý dữ liệu. Còn các client,

còn được hiểu nôm na là máy tính của người sử dụng phải được nối mạng với server,

giả sử các máy này truy cập vào một Website chẳng hạn, thì có nghĩa họ đã truy cập

vào server, sau đó lấy dữ liệu từ server về thể hiện lên máy mình. Cùng một lúc có

thể có hàng trăm người (client) truy cập vào cùng một Website được xử lý tập trung

trên server, tương tự như một đám trẻ xúm nhau giành phần của mình từ một cái bánh.

Client (người Việt tạm đọc là klai-ờn)

Các ứng dụng mà bạn phát triển trên nền MySQL và PHP sử dụng tính năng single

client đó là trình duyệt Web. Tuy nhiên, không phải đây chỉ là ngôn ngữ duy nhất để

phát triển ứng dụng Web. Đối với những ứng dụng phức tạp đòi hỏi multi-client hoặc

cần các tính năng bảo trì (chúng ta sẽ bàn tính năng này sau), thì ứng dụng Java

applet sẽ hữu dụng cho việc này. Chỉ trừ trường hợp bạn cần sử dụng ứng dụng thời

gian thực như ứng dụng chat chẳng hạn, thì bạn Java Applet mới cần thiết. Ở đây

chúng ta không bàn tới lập ứng dụng cho chuyện tán gẫu mà chỉ tập trung vào ứng

dụng duyệt Web nên không đụng chạm gì tới Java Applet cả.Như bạn đã biết ngôn ngữ khởi thuỷ cho việc duyệt Web là HTML. HTML cung cấp

hàng tá những thẻ lệnh (Tag) cho phép thể hiện trang Web theo nhiều kiểu cách khác

nhau. Nếu bạn chưa có kiến thức cơ sở về HTML thì có thể chạy ra ngoài mua ngay

một quyển sách hoặc download trên internet xuống các bài học hướng dẫn. Bạn

không nên bỏ ra quá nhiều thời gian để học về HTML. Ngoài HTML ra các trình

duyệt Web còn cho phép các add-in hỗ trợ nhiều thứ khác như RealPlayer, Flash,

Shockwave, hoặc hỗ trợ về Javascript hoặc XML. Nhưng ở đây chúng tôi chỉ tập trung

trên những gì cần thiết cho sự hội nhập của bạn – đó là HTML

 

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 1

Trang 1

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 2

Trang 2

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 3

Trang 3

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 4

Trang 4

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 5

Trang 5

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 6

Trang 6

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 7

Trang 7

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 8

Trang 8

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 9

Trang 9

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 41 trang xuanhieu 5160
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải

Bài giảng Lập trình web động với PHP/MySQL - Phần 1 - Tống Phước Khải
còn bổ sung các tính năng rất ấn tượng cho nó mọi lúc mọi 
nơi. 
Hiện tại, MySQL đã được bổ sung thêm hỗ trợ transaction. Như vậy là MySQL đã 
thực thụ trở thành một Hệ Quản trị CSDL chuyên nghiệp. 
 Good!
Thực hành ứng dụng đầu tiên 
Phần mở đầu như vậy là tạm đủ. Bây giờ chúng ta hãy tiếp tục sang phần viết một 
ứng dụng thử nghiệm để biết được cách thức hoạt động của ngôn ngữ này như thế 
nào. Có lẽ đọc qua phần giới thiệu bạn cũng đã có một số khái niệm nhất định về sự 
hoạt động của chúng. 
Công cụ cần thiết 
Có một số thành phần cần thiết mà bạn phải có trước hết. Tôi sẽ giới thiệu ngay sau 
đây và bạn sẽ biết mình cần đến những gì. 
PHP Webserver 
Đây là ứng dụng chạy trên Web, cho nên bạn điều hiển nhiên là bạn cần phải có một 
Web Server. Bạn sử dụng Apache, bạn cài lên Winserver2000/ 2003 hoặc 98, XP 
thông dụng của bạn. Có một số phiên bản Apache có sẵn bộ cài đặt PHP trong đó. 
 Nếu chưa có bạn phải cài đặt thêm PHP. Còn nữa, bạn phải cài MySQL. Như vậy bộ 
ba Apache, PHP và MySQL luôn đồng hành với nhau. 
Bạn xem thêm phần cài Apache server trên các CD thực hành PHP hoặc xem trên các 
Diễn đàn Tin học . Sau khi cài đặt xong bạn khởi động Apache. Nếu từ trình duyệt gõ 
vào  trang web thông tin của Apache hiển thị thì coi như thành công. 
 Lưu ý: Bạn cần phải xác định thư mục gốc của localhost để chứa các file .php của 
bạn sau này (xem trong hướng dẫn cài đặt Apache). 
 Text Editor 
 Để soạn thảo các dòng lệnh PHP bạn cần có một chương trình soạn thảo text đơn giản 
thôi, như Notepad trong Windows chẳng hạn. 
 Có một số chương trình soạn thảo hỗ trợ PHP, các dòng lệnh được ngời sáng bằng 
 nhiều màu khác nhau nhằm làm cho việc lập trình của bạn dễ dàng hơn. Bạn có thể 
 vào các website của Allairre (www.allaire.com) hoặc Editplus (www.editplus.com). 
 Hiện nay, chương trình Dreamweaver MX của Macromedia cũng hỗ trợ soạn thảo mã 
 lệnh PHP rất tốt. 
 BẮT ĐẦU LÀM 
Tôi nghĩ là tôi đã khởi đầu quyển sách với những mớ lý thuyết suông. Bây giờ chúng 
ta hãy bắt tay vào thực đi thôi. Như bạn đã biết khi truy cập vào một trang Web có thể 
bạn sẽ được yêu cầu hay chính bạn muốn ghi lại ý kiến cùng với một mớ các thông tin 
nhận dạng về mình như họ tên, địa chỉ website, email v.v. Tất cả các thông tin này sẽ 
được lưu trữ vào một CSDL trên Web. Nhờ vậy, người quản trị Web hoặc những 
người truy cập khác sẽ biết thông tin cá nhân cùng những ý kiến của bạn. Người ta 
gọi thông tin này là GuestBook (hiểu nôm na là Sổ vàng để khách viếng thăm ghi 
chép). Bây giờ chúng ta bắt tay vào việc tạo một GuestBook. 
 Tạo một Database (quan trọng!) 
 Bây giờ bạn cần biết phải làm gì rồi. Chuyện đầu tiên là phải tạo một CSDL lưu trữ 
 thông tin của khách. Để làm được điều này bạn cần phải dùng đến ngôn ngữ SQL 
 (thực tế bạn có thể làm với vài động tác nhắp chuột và vài ngón gõ phím, nhưng hãy 
 tập làm quen với SQL vì nó sẽ hữu dụng về sau). Bạn sẽ được học kỹ về SQL trong 
các chương sau. Do đó bạn đừng lo lắng khi chưa hiểu gì về nó. 
 Bây giờ bạn hãy khởi động MySQL. Nếu bạn đã cài đặt MySQL trong Windows thì 
 nó sẽ có biểu tượng để khởi động hoặc nó sẽ được tự động khởi động khi mở 
 Windows lên. Đối với MySQLAdmin version 1.1 cho phép bạn làm việc trong 2 giao 
 diện: Windows và Dos. Đối với giao diện Widows thì biểu tượng MySQL (biểu tượng 
 đèn giao thông) nằm ở SystemTray, bạn chỉ việc click chuột phải lên nó và chọn 
 Show me. Cửa sổ làm việc của MySQL hiện lên, tuy nhiên trong cửa sổ này chỉ cho 
 phép bạn thực hiện một số thao tác có hạn đối với CSDL. Hình trên là cách tạo 
 Database mới trong MySQL theo giao diện Windows. 
 Tuy nhiên, tôi khuyên các bạn nên dùng tiện ích PhpMyAdmin, chương trình này hỗ 
trợ các thao tác đối với CSDL trong MySQL với giao diện dễ sử dụng. 
Trong phần này tôi hướng dẫn thêm bạn thực hiện thao tác với Database trong giao 
diện dòng lệnh MSDOS bởi vì các giao diện khác tôi nghĩ tự bạn có thể làm được. 
Bật màn hình dòng lệnh DOS lên, chuyển sang thư mục cài đặt MySQL có chứa tập 
tin mysql.exe (/mysql/bin) và gõ vào mysql . 
 Tại dấu nhấu nhắc lệnh hãy gõ lệnh để tạo ra một database mới: 
 mysql> create database guestbook; 
Query OK, 1 row affected (0.00 sec) 
 mysql> 
 Bây giờ trong CSDL guestbook bạn cần phải có table chứa thông tin của khách. Bạn 
 hãy dùng lệnh create table từ dấu nhắc lệnh: 
 mysql> use guestbook 
Database changed 
 mysql> create table guestbook 
-> ( 
-> name varchar(40) null, 
-> location varchar(40) null, 
-> email varchar(40) null, 
-> url varchar(40) null, 
-> comments text null 
-> ) 
-> ; 
Query OK, 0 rows affected (0.00 sec) 
 mysql> 
 Bạn đã có một CSDL tên là guestbook và một table ở trong CSDL này cũng tên là 
guestbook. Bây giờ đã đến lúc chúng ta viết một ứng dụng bằng PHP để thực hiện các 
 thao tác: xem, chèn, sửa, xoá các thông tin trong CSDL guestbook. 
 Viết lệnh PHP 
 Bạn hãy dùng một chương trình soạn thảo văn bản đơn giản như Notepad chẳng hạn. 
 Đặt tên cho các tập tin là .php, các tập tin này được lưu trữ trong thư mục gốc của 
 web local trên máy bạn (nên tham khảo CD cài Apache để rõ hơn). 
 Cú pháp cơ bản 
 Điều thú vị đối với PHP là cho phép bạn xen kẽ giữa lệnh HTML và lệnh PHP. Do 
 đó, PHP được xem như là một script giống như Javascript hay Vbscript. Các lệnh của 
 PHP được gói trong thẻ mở: 
 Bây giờ bạn hãy thử chạy tập tin hi.php sau: 
 <? 
 echo “Hi,”; 
 ?> 
 mom. 
 Khi chạy bạn sẽ gõ vào: localhost/hi.php 
Kết quả cho ra là "Hi, mom". Ta thấy chữ "Hi," nằm trong tag lệnh PHP còn chữ 
"mom" thuộc về HTML. 
Tuy nhiên, PHP còn làm được nhiều điều khác nữa, cũng giống như các ngôn ngữ lập 
trình khác, nó có thể làm việc với các loại biến, kiểu dữ liệu, chứa rất nhiều hàm 
chức năng. Hãy tìm hiểu ví dụ sau: 
<? 
echo “hi, mom.” ; 
$var = date(“H”); 
if ($var <= 11) 
{ 
echo “good morning”; 
} 
elseif ($var > 11 and $var < 18) 
{ 
echo “good afternoon”; 
} 
else 
{ 
echo “good evening”; 
} 
?> 
Nếu như bạn thấy khó hiểu thì cũng không sao. Chúng ta sẽ biết tường tận hơn ở phần 
sau. 
 Trang kết quả sẽ hiển thị các lời chào tuỳ thuộc vào giờ giấc hiện tại. Tôi đã dùng 
hàm date của PHP để lấy ra được giờ giấc hiện tại. Giá trị giờ được đem gán cho biến 
$var. Kế đến là các chọn lựa được sử dụng để đưa ra lời chào thích hợp. 
 Các bạn hãy để ý một chút, các lệnh của PHP đều được kết thúc với dấu chấm phẩy 
(;). Trong phát biểu IF chúng ta thấy dấu ngoặc nhọn { } chứa các lệnh tuỳ sẽ được thi 
 hành tuỳ thuộc vào điều kiện. Các điều kiện thì được bao trong dấu ngoặc đơn ( ). 
Hàm date() và lệnh echo chỉ là 2 trong hàng trăm các hàm và lệnh có trong PHP mà 
các bạn sẽ được học một số cần thiết của chúng trong các chương sau. Bây giờ bạn 
hãy tìm hiểu thêm một số lệnh về CSDL. 
 Lệnh PHP để kết nối Database (quan trọng) 
 Bởi vì PHP và MySQL hiện tại trên máy của bạn vẫn còn là hai thế giới tách biệt 
 nhau. Do đó, muốn dùng PHP để làm việc được với CSDL bạn cần phải tạo ra sợi dây 
 liên kết giữa hai chiến hữu này. 
 Vì có thể có rất nhiều database trong MySQL, do đó bạn cần phải chỉ ra bạn muốn sử 
 dụng database nào trong MySQL. Chúng ta hãy thực hiện như sau: 
 <? 
 mysql_connect(“localhost”, “khai”,”kkk”) or 
die (“Could not connect to database”); 
mysql_select_db(“guestbook”) or 
die (“Could not select database”); 
?> 
 Dòng đầu tiên thực hiện việc kết nối với Database Server đang nằm trên máy 
localhost, có username là khai, password là kkk. 
 Nếu kết nối thành công, nó sẽ thực hiện bước kế tiếp là kết nối với database nằm 
 trong đó là guestbook bằng lệnh mysql_select_db() 
 Các bạn nên lưu ý là các lệnh trên bạn sử dụng thường xuyên cho mọi kết nối CSDL 
 của bạn, do đó tôi khuyên bạn nên lưu nó vào một tập tin (dbconnect.php chẳng hạn), 
 sau này cần thì chỉ việc dùng lệnh include(‘dbconnect.php’); 
 Nhập dữ liệu vào Database 
 Bởi vì hiện tại database của bạn vẫn chưa có user nào, cho nên tôi sẽ hướng dẫn bạn 
viết các lệnh để thực hiện việc này. Nhưng trước tiên, bạn cần phải biết thêm một 
chút ít về biến trong PHP. Ở phần trước bạn đã xem qua một ví dụ trong đó có chứa 
 biến, tuy nhiên đối với môi trường client/server, bạn cần phải làm việc với biến data 
 từ client. Bạn sẽ thường xuyên làm việc với form HTML (bạn có thể tìm hiểu kỹ hơn 
 ở phần Phục lục A. Chúng ta nên biết là mỗi phần tử của form đều có một cái tên, và 
 khi bạn submit một form nào đó thì các tên của các phần tử trong đó trở thành một 
 biến trong script PHP được form submit đến. Với form như sau, khi được submit, các 
 biến $surname và $submit sẽ được tạo ra trong myscript.php. Giá trị $surname sẽ 
 mang giá trị mà user đã nhập vào. Giá trị của $submit sẽ là chuỗi "submit". 
Tôi xin lưu ý với các bạn là lập trình Web không giống như các dạng lập trình khác ở 
chỗ nó không ở trạng thái tĩnh. Để thể hiện một trang, Web Server phải trước hết 
nhận một thỉnh cầu từ trình duyệt. Giao thức sử dụng của chúng là HTTP, Hypertext 
Transfer Protocol. Các yêu cầu sẽ bao gồm: trang web mà trình duyệt sẽ thấy, form 
data, loại trình duyệt đang được sử dụng, địa chỉ IP mà trình duyệt sử dụng. Dựa vào 
thông tin này mà Web Server sẽ quyết định phục vụ những gì. Một khi server phục vụ 
yêu cầu trang web, nó sẽ duy trì sự kết nối với trình duyệt. Thông thường, bạn cần 
biết cách thức để chuyển các biến từ trang này sang trang khác. Bạn sẽ tìm thấy thao 
tác này trong ứng dụng tiếp theo. Ứng dụng của chúng ta sẽ giải quyết vấn đề dựa 
theo 1 trong 3 cách thức: chuyển giao theo phẩn tử form ẩn, sử dụng cookies, sử dụng 
session. 
Bây giờ trở lại script sau: 
 Bạn có thể quyết định cho hiển thị trên site những gì dựa vào các biến thông tin từ 
form HTML. Thông thường, bạn có thể kiểm tra nếu form đã được submit hay chưa 
bằng cách kiểm tra biến $submit có chứa giá trị "submit" hay không. 
Hãy bắt tay vào công việc đi thôi. Trang đầu tiên trong ứng dụng được gọi là sign.php 
có chứa một form HTML. Action của nó là create_entry.php. Sau đây là chi tiết dòng 
lệnh: 
 Sign my Guest Book!!! 
 Name: 
 Location: 
 Email: 
 Home Page URL: 
 Comments: 
 Khi bạn điền đầy đủ thông tin ở trong form, thì các thông tin sẽ được chuyển đổi tới 
 create_entry.php. Chuyện đầu tiên phải làm trên trang này là kiểm tra xem form đã 
 được submit chưa. Nếu rồi, nhận lấy giá trị đã nhập vào trong form và sử dụng chúng 
 để tạo một query đồng thời gởi đến MySQL. Bạn đừng lo lắng là không biết các lệnh 
SQL, điều trước tiên là chỉ cần biết là nó sẽ thực hiện việc chèn dữ liệu vào table của 
guestbook. Tập tin create_entry.php như sau: 
 <?php 
 include(“dbconnect.php”); 
 if ($submit == “Sign!”) 
 { 
 $query = “insert into guestbook 
 (name,location,email,url,comments) values 
 (‘$name’, ‘$location’, ‘$email’, ‘$url’, ‘$comments’)”; 
 mysql_query($query) or 
die (mysql_error()); 
?> 
Thanks!! 
View My Guest Book!!! 
<?php 
} 
else 
{ 
include(“sign.php”); 
} 
?> 
Trong lần đầu tiên create_entry.php được gọi, form sign.php sẽ được hiển thị. Kế tiếp, 
dữ liệu sẽ được cập nhật vào CSDL. 
Hình sau minh hoạ các form được hiển thị: 
 sign.php 
create_entry.php 
Hiển thị dữ liệu trong Database lên màn hình 
Bây giờ dữ liệu đã được ghi vào CSDL guestbook . Bạn cần thực hiện việc xem các 
dữ liệu đó. Nên nhớ là chúng ta lại phải sử dụng dbconnect.php như tôi đã nói với bạn 
trước đây. Bạn cần phải cho hiển thị tất cả các record trong table thông tin của khách 
viếng thăm đã nhập vào. Chúng ta thực hiện script sau và đặt tên là view.php: 
View My Guest Book!! 
<?php 
$result = mysql_query(“select * from guestbook”) or 
die (mysql_error()); 
while ($row = mysql_fetch_array($result)) 
{ 
echo “Name:”; 
echo $row[“name”]; 
echo “\n”; 
echo “Location:”; 
echo $row[“location”]; 
echo “\n”; 
echo “Email:”; 
echo $row[“email”]; 
echo “\n”; 
 echo “URL:”; 
 echo $row[“url”]; 
 echo “\n”; 
 echo “Comments:”; 
 echo $row[“comments”]; 
 echo “\n”; 
 echo “\n”; 
 echo “\n”; 
 } 
 mysql_free_result($result); 
 ?> 
 Sign My Guest Book!! 
 Như chúng ta thấy query trong MySQL truy cập tất cả các hàng trong database. Script 
 thực hiện việc này bằng cách sử dụng vòng lập thông qua biến $row. 
Trong mỗi vòng lặp thì mỗi field trong từng record được hiển thị. Vd: print 
$row["email"] sẽ ghi ra màn hình đối với record đang truy cập. Khi chạy chương trình, 
tất cả các field của từng record sẽ được hiển thị: 
view.php 
 Chương trình này upload lên internet được chưa? 
 Bây giờ thì ứng dụng đầu tiên của bạn đã hoàn tất. Nếu bạn muốn upload web vừa 
 tạo lên trên Server để thử nghiệm thì cũng được thôi. Nhưng muốn để nó trở thành 
một site guestbook đúng nghĩa thì chưa được đâu! Bạn còn cần phải làm nhiều thứ để 
dữ liệu bạn không bị hacker quấy phá. (Còn tiếp) 
 Lưu ý: 
 Bạn có thể tìm thấy các CD thiết kế web PHP tại các cửa hàng CD (Tôn Thất Tùng, tp.HCM 
 chẳng hạn). Trên CD có trình cài đặt Apache, PHP, MySQL thông dụng là FOX. Ngoài ra 
 còn có các Website PHP mẫu. 
 CÁC LỆNH Ở BÀI HỌC TRÊN TỐT NHẤT BẠN NÊN GÕ LẠI, KHÔNG NÊN COPY! 
 tongphuockhai@mail15.com 
- Kiến thức là kho báu không phải của riêng ai. Vì vậy bạn đừng ngần ngại khi chia sẻ cho mọi người. 

File đính kèm:

  • pdfbai_giang_lap_trinh_web_dong_voi_phpmysql_phan_1_tong_phuoc.pdf