Phân tich thiết kế trang web bán điện thoại
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 1
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1.1 TỔNG QUAN VỀ INTERNET VÀ THƯƠNG MẠI ĐIỆN TỬ 4
1.1.1 TỔNG QUAN VỀ INTERNET 4
1.1.2 THƯƠNG MẠI ĐIỆN TỬ 5
1.2 PHP VÀ VIỆC XÂY DỰNG CÁC ỨNG DỤNG TRÊN WEB 7
1.2.1 GIỚI THIỆU VÀ SỬ DỤNG PHP 7
1.2.2 NGÔN NGỮ PHP 8
1.3 CƠ SỞ DỮ LIỆU VÀ PHƯƠNG PHÁP TRUY XUẤT CSDL MYSQL 20
1.3.1 CÁC KHÁI NIỆM CƠ BẢN 20
1.3.2 MYSQL VÀ PHƯƠNG PHÁP TRUY XUẤT CSDL MYSQL 22
CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG 28
2.1 CƠ SỞ LÝ THUYẾT 28
2.1.1 Nghiên cứu – khảo sát hệ thống cũ để làm gì ? 28
2.1.2 Chiến lược điều tra và Quy trình khảo sát hệ thống 28
2.1.3 Xây dựng dự án 30
2.2 PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG 30
2.2.1 Biểu đồ phân cấp chức năng 30
2.2.2 Biểu đồ luồng dữ liệu 31
2.2.3 Phân rã luồng dữ liệu theo mức 33
2.5.4 Biểu đồ mức dưới đỉnh - chức năng quản lý người dùng 39
2.5.5 Biểu đồ mức dưới đỉnh – chức năng xử lý đơn hàng 40
Trang 2LỜI NÓI ĐẦU
Ngày nay với sự phát triển của khoa học kỹ thuật, công nghệ máy tính đã đạt đượcnhiều thành tựu to lớn Máy tính đã và đang được sử dụng rộng rãi trong các công việcmà trước đó con người phải sử dụng bàn tay của mình với hình thức lao động thủ côngnăng suất thấp và chất lượng công việc không cao Với sự ra đời và phát triển khôngngừng của công nghệ, máy tính hiện nay đã đáp ứng được một phần nhu cầu trong cuộcsống, sản xuất, nghiên cứu khoa học và làm thay đổi bộ mặt xã hội.
Trong thời đại bùng nổ của cuộc cách mạng công nghệ thông tin trên toàn cầu, khinói đến Internet, người ta nghĩ ngay tới Web Với một vai trò quan trọng là đảm bảo chiasẻ thông tin chung cho mọi người, Web hiện nay còn chứa rất nhiều những giải pháp,công nghệ để đảm nhận được vai trò to lớn của nó trong đời sống, kinh tế, văn hóa, xãhội Để có một website “ Thương mại điện tử ” được ứng dụng, đáp ứng được nhu cầucông việc đặt ra thì người làm tin học phải biết phân tích thiết kế hệ thống làm việc củachương trình, để từ đó xây dựng nên một website ứng dụng quản lý chương trình đó bằngngôn ngữ lập trình.
Công nghệ thông tin và ứng dụng có vai trò rất quan trọng trong việc cung cấpthông tin, trao đổi thông tin, giao dịch thương mại qua hệ thống Website trên Internet.Mọi người có thể tìm kiếm thông tin về mọi lĩnh vực trong cuộc sống : khoa học, giáodục, dịch vụ, giải trí, du lịch, phục vụ và đáp ứng nhu cầu của mọi người Vì vậy xâydựng Website là vô cùng cần thiết để đáp ứng nhu cầu của người sử dụng
Bắt nguồn từ những ý tưởng, từ nhu cầu thực tế trên em chọn đề tài:
“ Nghiên cứu xây dựng một số chức năng của wesbsite bán hàng trên Internet dựa trênngôn ngữ lập trình PHP ”
Sau khi hoàn thành trang Web Em xin được viết báo cáo trình bày bài thực tậpchuyên nghành này Bài thực tập bao gồm thành phần cơ bản sau :
Trang 3CHƯƠNG 1: CƠ SỞ LÝ THUYẾTCHƯƠNG 2: PHÂN TÍCH HỆ THỐNG
CHƯƠNG 3: HỆ THỐNG BÁN HÀNG TRỰC TUYẾN
Do còn thiếu kinh nghiệm thực tế nên em không tránh khỏi những vấn đề sai sót.Em rất mong nhận được sự chỉ bảo tận tình của thày cô để em có thể hoàn thiện website,để website có giá trị thực tiễn trong việc ứng dụng nó vào thực tế.
Em xin gửi lời cảm ơn chân thành đến cô Nguyễn Thu Hằng và các thày cô đã chỉbảo tận tình để em có được những kiến thức hữu ích trong quá trình thực tập lần này !
Em xin chân thành cảm ơn !
Trang 4CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 TỔNG QUAN VỀ INTERNET VÀ THƯƠNG MẠI ĐIỆN TỬ1.1.1 TỔNG QUAN VỀ INTERNET
1.1.1.1 Internet và xuất xứ của nó
Internet là một hệ thống thông tin toàn cầu có thể được truy nhập công cộng gồm cácmạng máy tính được liên kết với nhau Hệ thống này bao gồm hàng ngàn mạng máy tínhnhỏ hơn của các doanh nghiệp, của các viện nghiên cứu và các trường đại học, của ngườidùng cá nhân, và các chính phủ trên toàn cầu.
Tiền thân của mạng Internet ngày nay là mạng ARPANET Tới năm 1995, Internet đãtrở thành một mạng lớn nhất trên thế giới, mạng của các mạng, xuất hiện trong mọi lĩnhvực thương mại, chính trị, quân sự, nghiên cứu, giáo dục, văn hoá, xã hội Cũng từ đó,các dịch vụ trên Internet không ngừng phát triển tạo ra cho nhân loại một thời kỳ mới: kỷnguyên thương mại điện tử trên Internet.
1.1.1.2 Cách thức truyền thông trên Internet
Trong những năm 60 và 70, nhiều công nghệ mạng máy tính đã ra đời Internetđược thiết kế để liên kết các kiểu mạng khác nhau và cho phép thông tin được lưu thôngmột cách tự do giữa những người sử dụng mà không cần biết họ sử dụng loại máy nào vàkiểu mạng gì
Một số mạng máy tính bao gồm một máy tính trung tâm (còn gọi là máy chủ) và
nhiều máy trạm khác nối với nó Các mạng khác kể cả Internet có quy mô lớn bao gồmnhiều máy chủ cho phép bất kỳ một mạng máy tính nào trong mạng đều có thể kết nối vớicác máy khác để trao đổi thông tin Một máy tính khi được kết nối với Internet sẽ là mộttrong số hàng chục triệu thành viên của mạng khổng lồ này Vì vậy Internet là mạng máytính lớn nhất thế giới hay nó là mạng của các mạng.
Trang 51.1.1.3 Các dịch vụ trên Internet
Thư điện tử ( E – mail ) : Trao đổi thông tin giữa cá nhân với cá nhân, cá nhân
với tổ chức và các tổ chức với nhau Nó cho phép gửi nội dung thông tin tới từng địachỉ hoặc đến tất cả các địa chỉ theo danh sách Lợi ích chính của dịch vụ thư điện tử làthông tin gửi nhanh và rẻ.
WWW ( World Wide Web ) : Là dịch vụ mà ngưởi dùng quan tâm nhất hiên nay.
Web là một công cụ, một công cụ của Internet, nó chứa thông tin bao gồm : âm thanh,hình ảnh, văn bản, thậm chí cả video được kết hợp với nhau.
Dịch vụ truyền file ( FTP – File Transfer Protocol ) : dịch vụ dùng để trao đổi các
tệp tin từ máy chủ xuống các máy cá nhân và ngược lại.
Gropher : dịch vụ hoạt động như viện Menu đủ loại Thông tin hệ thống Menuphân cấp giúp người sử dụng từng bước xác định được những thông tin cần thiết để điđược tới vị trí cần đến.
Telnet : dịch vụ cho phép truy cập tới Server được xác định rõ như một Telnet Sitetìm kiếm Server người dùng có thể thấy được dịch vụ vô giá khi tìm kiếm các thôngtin trong thư viện và các thông tin lưu trữ
1.1.2 THƯƠNG MẠI ĐIỆN TỬ1.1.2.1 Thương mại điện tử là gì ?
Thương mại điện tử ( E – Commerce ) là hình thái hoạt động kinh doanh bằng các
phương pháp điện tử; là việc trao đổi “ thông tin ” kinh doanh thông qua các phương tiệncông nghệ điện tử
Theo khái niệm này, thương mại điện tử không chỉ là bán hàng trên mạng hay bánhàng trên Internet mà là hình thái hoạt động kinh doanh bằng các phương pháp điện tử.Hoạt động kinh doanh bao gồm tất cả các hoạt động trong kinh doanh như : giao dịch,mua bán, thanh toán, đặt hàng, quảng cáo, và kể cả giao hàng Các phương pháp điện tử ởđây không chỉ có Internet mà bao gồm việc sử dụng các phương tiện công nghệ điện tửnhư : điện thoại, máy fax, truyền hình, mạng máy tính ( trong đó có Internet ) Thươngmại điện tử cũng bao hàm cả việc trao đổi thông tin kinh doanh thông qua các phương
Trang 6tiện công nghệ điện tử Thông tin ở đây không chỉ là những số liệu hay văn bản, tin tứcmà nó gồm cả hình ảnh, âm thanh và phim video.
1.1.2.2 Thương mại điện tử và tầm quan trọng của nó
Hiện nay nhờ vào sự phát triển của các phương tiện truyền thông đặc biệt là sựphát triển của tin học đã tạo điều kiện cho mọi người có thể giao tiếp với nhau 1 cáchnhanh chóng và dễ dàng hơn thông qua các dịch vụ của Internet Vì vậy thương mại điệntử thông qua Internet đang phát triển trong điều kiện vô cùng thuận lợi Nó trở nên phổbiến và trở thành công cụ mạnh mẽ để bán hàng và quảng bá sản phẩm của các doanhnghiệp Thông qua đó khách hàng có thể lựa chọn, so sánh sản phẩm phù hợp về chủngloại, dịch vụ, giá cả, chất lượng và phương thức giao hàng cho khách hàng.
Thương mại điện tử không chỉ mở ra những cơ hội kinh doanh mới, những sảnphẩn và dịch vụ mới, nghành nghề kinh doanh mới mà bản thân nó thực sự là mộtphương thức kinh doanh mới : “phương thức kinh doanh điện tử” Thương mại điện tửchuyển hóa các chức năng kinh doanh, từ nghiên cứu thị trường và sản xuất sản phẩmđến bán hàng, dịch vụ sau bán hàng từ phương thức kinh doanh truyền thống đến phươngthức kinh doanh điện tử
1.1.2.3 Thực tế thương mại điện tử ở Việt Nam
Việt Nam là một nước có nền CNTT kém phát triển so với thế giới nói chung vàkhu vực nói riêng Ngày 19/11/1997 (ngày Internet Việt Nam), Internet chính thức đượcđưa vào sử dụng tại Việt Nam, xu hướng ứng dụng Thương mại điện tử đã bắt đầu Conđường tiếp cận Thương mại điện tử qua 3 giai đoạn: chuẩn bị, chấp nhận và ứng dụng, vàViệt Nam đang ở bước đầu tiên của giai đoạn thứ nhất.
Khó khăn:
Các trở ngại có tính Công nghệ như : thiếu một cơ sở hạ tầng và một môi trườngcông nghệ thích hợp như : giá sử dụng; khả năng bảo mật; nền CNTT kém phát triển vàthiếu cán bộ kỹ thuật.
Các trở ngại có tính Xã hội: thiếu một môi trường xã hội thích hợp, thiếu hiểu biếttừ lãnh đạo đến nhân viên; thiếu hiểu biết từ khách hàng đến bạn hàng.
Trang 7Việt Nam là đất nước tham gia sau và bắt đầu từ đầu nên ngoài vấp phải nhữngkhó khăn chung kể trên thì còn rất nhiều khó khăn riêng Theo đánh giá thì có 3 khó khănchính là:
- Cơ sở hạ tầng thông tin cần cải thiện ngay, cần có thời gian hàng năm và lượngvốn đầu tư lớn.
- Hệ thống dịch vụ tài chính chưa áp dụng hệ thống thanh toán thẻ Đây là trở ngạivà là khó khăn lớn nhất.
- Cần nâng cao nhận thức của người Việt Nam về Thương mại điện tử thì mới cóthể triển khai được.
Thuận lợi:
- Theo các dự báo về một nền kinh tế kỹ thuật số của thế kỷ 21 thì Thương mại điệntử là một trong những yếu tố then chốt Không liên quan đến những trở ngạivừanêu, khi phát triển Thương mại điện tử, Việt Nam cũng được thừa hưởng tất cả cácthuận lợi này.
1.2.1 GIỚI THIỆU VÀ SỬ DỤNG PHP1.2.1.1 Lịch sử ra đời của PHP
PHP đã được nghĩ đến trong khoảng cuối năm 1994 bởi Rasmus Lerdorf Cuốinăm 1996 PHP/FI đã được dùng trên ít nhất 15000 trang web trên khắp thế giới Khoảnggiữa năm 1997 con số này đã tăng lên trên 50000 trang web.
Ngày nay, PHP 3 hoặc PHP 4 hiện tại chuyên chở một số lượng các sản phẩmthương mại như web server Red Hat’s Stronghold Ngày nay, theo ước lượng thì PHPđược dùng trong khoảng 5.1 triệu trang trên toàn thế giới và hơn cả IIS server củaMicrosoft ( khoảng 5.03 triệu trang).
1.2.1.2 Sử dụng PHP
Để sử dụng được PHP, trước tiên bạn phải cấu hình PHP trên Server có cài đặt IIS
( Internet Information Server ) hay Persional Web Server Tuy nhiên trong trường hợp
ứng dụng mang tính thực tiễn, bạn nên sử dụng Server có cài IIS.
Trang 8+ <? echo ("this is the simplest, an SGML processing instruction\n"); ?>+ <?php echo("if you want to XML documents, do like this\n"); ?>
+ echo ("some editors (like FrontPage) don't like processinginstructions");</script>
+ <% echo ("You may optionally use ASP-style tags"); %> <%= $variable; # Thisis a shortcut for "<%echo " %>
1.2.2 NGÔN NGỮ PHP1.2.2.1 Các kiểu dữ liệua Số nguyên
Được khai báo và sử dụng giống C++ : Ví dụ : $a = 1234;
$a = -123;$a = 0123;$a = 0x12;
Trang 9d Mảng
Mảng thực chất là gồm 2 bảng : bảng chỉ số và bảng liên kết Mảng là biến dữ liệu lưu trữ
tập hợp dữ liệu gồm nhiều phần tử, mỗi phần tử chứa một giá trị như text, number hay
một mảng khác.
Mỗi phần tử trong mảng đều có một chỉ mục chính và vị trí của phần tử đó trongmảng Phần tử đầu tiên trong mảng có chỉ mục là 0 Có thể duyệt trên phần tử mảng bằngcác phát biểu vòng lặp
Mảng 1 chiều :
Có thể dùng hàm : list() hoặc array() hoặc liệt kê các giá trị của từng phần tử trongmảng để tạo mảng Có thể thêm các giá trị vào mảng để tạo thành 1 mảng Có thể dùngcác hàm asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), and uksort() để sắp xếpmảng Tùy thuộc vào sắp xếp theo kiểu gì.
Mảng nhiều chiều:
Mảng nhiều chiều được biết đến như một bảng dữ liệu,ma trận lưới hai chiều, bachiều Mỗi phần tử trong mảng có thể là một mảng con Để có thể khai báo mảng haichiều ta có thể sử dụng cú pháp :
$products = array(
Array( “tir”,”tires”,100),Array(“cor”,”concord”,1000),Array(“boe”,”boeing”,5000),
Để gán giá trị vào mảng hai chiều, ta cũng có thể thực hiện gán giá trị cho từng
phần tử ứng với hàng thứ i và cột thứ j như sau :
Trang 10$products[0][0] = “A”;$products[0][1] = “b”;
1.2.2.2 Biến và các 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áihoặc dấu gạch dưới.
a 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ố được truyền Dùng 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á trị.
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 <?
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 <?
b 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 bộ trong hàm.
Ví dụ: $a = 1;$b = 2;
Function Sum () {
Trang 11global $a, $b;$b = $a + $b;}Sum ();
Trang 12Vớ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().
c Tên biến
Một biến có thể gắn với 1 cái tên Ví dụ:
$a = "hello";$$a = "world";
==> $hello = "world"và 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ớimảng Ví dụ: $$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ếnvới [1] là chỉ số Để tránh trường hợp này , cần có sự phân biệt rõ bằng dấu { }.
Ví dụ: ${$a[1]} hoặc ${$a}[1].
d 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 POSTVí dụ: <form action="foo.php3" method="post">
Name: <input type="text" name="name"><input type="submit">
PHP sẽ tạo 1 biến $name bao gồm mọi giá trị trong trườ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 một form Vì vậy, 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ừ
Trang 13một đầu vào tuỳ chọn.(multi select input) Khi tính chất track_vars được đặt trong cấuhình hoặc có chỉ dẫn <?php_track_vars?> các giá trị được submit được lấy ra quaphương thức GET và POST có thể lấy từ hai mảng toàn cục $HTTP_POST_VARS và
1.2.2.3 Một số chú ýa IMAGE SUBMIT:
Khi dùng một 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èmtheo hai giá trị thêm vào : sub_x và sub_y Những biến này sẽ lưu giữ toạ độ mà ngườidù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ệcgửi các giá trị đó là liên tục.
b 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ự độngchuyển thành dữ liệu của phương thức GET và POST.Nếu muốn có nhiều giá trị trongmột cookie, chỉ cần thêm vào dấu [ ] với tên của cookie.
Ví dụ: SetCookie ("MyCookie[]", "Testing", time()+3600);
Chú ý rằng cookie sẽ thay thế cho cookie cùng tên, trừ trường hợp khác đường dẫnhoặc miền.
c BIẾN MÔI TRƯỜNG:
PHP tự động tạo biến cho các biến môi trường như một biến bình thường củaPHP Ví dụ:
Trang 14echo $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 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ạnscript 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ênbiế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.(_)
1.2.2.4 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ứ chúng ta viếtđềuđược coi như một biểu thức Điều này có nghĩa là mọi thứ đều có một giá trị Mộtdạng cơ bản nhất của biểu thức bao gồm cá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 Có thể thao tác với cácbiến trong PHP giống như với trong C.
Ví dụ:
$b = $a = 5$c = $a++; /*$e = $d = ++$b;
1.2.2.5 Các câu lệnha If else else if
if (điều kiện) { do something; }elseif ( điều kiện ) { do something;}else { do something;}
Trang 15b Vòng lặp
while ( DK) { }do { } white ( DK );
for (bieuthuc1; bieuthuc2; bieu thuc3) { }Với PHP4:
foreach(array_expression as $value) statement
foreach(array_expression as $key => $value) statement
c 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.
d 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;default :}
1.2.2.6 Hàma Tham trị
Ví dụ: function takes_array($input) {
echo "$input[0] + $input[1] = ", $input[0]+$input[1];}
Trang 16b Tham biến
function add_some_extra(&$string) {$string = 'and something extra.';}
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"; }
d 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ưngcó thể trả lại một mảng các giá trị.
Ví dụ: Để trả lại một tham trỏ, bạn cần có dấu & ở cả khai báo của hàm cũng nhớ giá trị
trả lại.
function &returns_reference() {
Trang 17echo "In foo()\n";}
function bar( $arg = '' ) {
echo "In bar(); argument was '$arg'.\n";}$func = 'foo';
$func();$func = 'bar';
Trang 18Toá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
Ví dụ: <?php$res = @mysql_query ("select name, code from 'namelist")
or-die ("Query failed: error was '$php_errormsg'"); ?>
Toán tử thực thi : ` `- PHP sẽ thực hiện nội dung nằm giữa 2 dấu ` như một lệnhshell Trả ra giá trị là kết quả thực hiện lệnh
Ví dụ: $output = `ls -al`; //liệt kê các file bằng lệnh Linux
function add_item ($artnr, $num) {$this->items[$artnr] += $num; }function remove_item ($artnr, $num) {if ($this->items[$artnr] > $num) {$this->items[$artnr] -= $num;return true;}
else {return false;} }} ?>
Trang 19Lớp Cart ở đây là một kiểu dữ liệu, vì vậy ta có thể tạo một biến có kiểu này với toán tửnew
Ví dụ: $cart = new Cart;
$cart->add_item("10", 1);
Lớp có thể được mở rộng bằng những lớp khác Lớp mới thu được có tất cả nhữngbiến và hàm của cá lớp thành phần Thực hiện việc thừa kế này bằng từ khoá "extends".Chú ý : kế thừa nhiều lớp 1 lúc không được chấp nhận.
Ví dụ: class Named_Cart extends Cart {
1.2.2.9 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ácnhau 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 một nội dung có thể có nhiềutên khác nhau.Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nội dung.
Ví dụ: $a = & $b; > $a, $b trỏ tới cùng 1 giá trị.
Tham chiếu truyền giá trị bằng tham chiếu Thực hiện việc này bằng cách tạo mộthàm cục bộ và truyền giá trị được tham chiếu
Ví dụ: function foo (&$var) {
$var++;}
Trang 20foo ($a); > Kết quả : $a = 6;
Giá trị trả lại của một hàm bằng tham chiếu rất tiện khi bạn muốn sử dụng làm đểtìm một giá trị trong một phạm vi nào đó.
Ví dụ: function &find_var ($param) {
return $found_var;}$foo =& find_var ($bar);
Khi bạn muốn loại bỏ mối liên kết giữa tên biến và giá trị của biến, sử dụng hàm unset()
Ví dụ: $a = 1;
$b =& $a;unset ($a);
PHP không bị giới hạn với mã HTML được trả lại cho trình duyệt Vì vậy, có thểdùng PHP để tạo và thao tác với các file ảnh có định dạng khác nhau, bao gồm :gif, png,jpg, wbmp, and xpm PHP có thể đưa các file ảnh trực tiếp đến các trình duyệt Bạn sẽcần biên dịch PHP với thư viện GD bao gồm các hàm thao tác với ảnh GD và PHP cóthể sẽ cần có thêm 1 số thư viện khác, tuỳ thuộc vào định dạng của file ảnh cần dùng.
1.3.1 CÁC KHÁI NIỆM CƠ BẢN
1.3.1.1 khái niệm
Cơ sở dữ liệu(csdl) là một lĩnh vực rất quan trọng của công nghệ thông tin mà nếuthiếu nó nhiều vấn đề đặt ra sẽ khó giải quyết được Cơ sở dữ liệu được định nghĩa là kho
Trang 21thông tin về một chủ đề, được tổ chức hợp lý để dễ dàng quản lý và truy tìm Bất kỳ khothông tin nào đáp ứng được yêu cầu này đều có thể coi là một cơ sở dữ liệu.
1.3.1.2 Quản trị cơ sở dữ liệu
Chương trình quản trị csdl là một chương trình ứng dụng trên máy tính các côngcụ để truy tìm, sửa chữa, xoá và chèn thêm dữ liệu Các chương trình này cũng có thểdùng để tạo lập một csdl và tạo ra các báo cáo, thống kê Các chương trình quản trị csdlliên quan khá thông dụng hiện nay tại Việt Nam là Foxpro, Access cho ứng dụng nhỏ,DBL, MySQL và Oracle cho ứng dụng vừa và lớn.
Quản trị csdl quan hệ là một cách quản lý csdl trong đó dữ liệu được lưutrữ trongcác bảng dữ liệu hai chiều gồm các cột và các hàng, có thể liên quan với nhau nếu cácbảng đó có một cột hoặc một trường chung nhau.
Hệ quản trị csdl là một quá trình xử lý xoay quanh các vấn đề sau đây:+ Lưu trữ dữ liệu
+ Truy nhập dữ liệu
+ Bảo đảm tính toàn vẹn của dữ liệu
Ba vấn đề chính ở trên có mối quan hệ mật thiết, phụ thuộc lẫn nhau và chúng
được liệt kê theo thứ tự thực hiện mỗi ứng dụng Mô hình csdl quan hệ (Relationship
Database Management System -RDMS) được xây dựng làm đơn giản hoá quá trình lưuvà
đọc dữ liệu RDMS cung cấp khả năng giao tiếp tốt với dữ liệu và giúp người lập trình tựdo trong lĩnh vực quản lý truy cập csdl.
Sau đây là các bước xây dựng một csdl theo mô hình cơ sở dữ liệu quan hệ:+ Tổ chức dữ liệu theo nhóm logic(table)
+ Xác định các mối quan hệ giữa các table
+ Tạo tập tin cơ sở dữ liệu và định nghĩa cấu trúc của các table trong csdl.+ Lưu dữ liệu
Trang 22Hai bước đầu là hai bước thiết kế csdl và đây là hai bước cực kỳ quan trọng Nếuđược thiết kế tốt, các khía cạnh khác sẽ được giải quyết dễ dàng hơn; ngược lại việc khaithác csdl sẽ không hiệu quả và chương trình sẽ có những lỗi rất khó phát hiện.
Các bước chính khi tiến hành thiết kế một cơ sở dữ liệu:o Xác định dữ liệu cần trong ứng dụng
Cũng giống như các hệ cơ sở dữ liệu khác, khi làm việc với cơ sở dữ liệu MySQL,bạn đăng ký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phân quyền sử dụng, thiết kếđối tượng Table của cơ sở dự liệu và xử lý dữ liệu.Để sử dụng các phát biểu hay các thaotác trên cơ sở dữ liệu, bạn có thể sử dụng trình quản lý dạng đồ họa hay dùng dòng lệnhcòn gọi là Command line.
1.3.2.2 Phương pháp truy xuất CSDL MySQLa Một số khái niệm
Để hiểu được chương này một cách rõ ràng, trước tiên cần phải có một số kiếnthức cơ bản về cơ sở dữ liệu quan hệ Nếu đã từng làm việc với MS SQL Server hayAccess chúng đều có hỗ trợ việc tạo CSDL rất là dễ dàng với giao diện trực quan.
Đối với MySQL cũng có thể sử dụng công cụ trực quan đó là phpMyadmin Tuynhiên, phải học cách thao tác với CSDL bằng dòng lệnh Muốn chương trình, trong lúcchạy thao tác tự động với CSDL thì cần hàng tá lệnh PHP/SQL để thực hiện các yêu cầu
Trang 23của chương trình Trước khi chúng ta tạo các table trong CSDL của MySQL, có một vàithứ cần phải hiểu rõ Những khái niệm cơ bản sau đây rất quan trọng
+ Null:
Việc đầu tiên phải làm trong việc thiết kế một table là quyết định xem một field cócho phép giá trị NULL hay không Trong CSDL quan hệ, giá trị NULL của một fieldđồng nghĩa với nó có thể chấp nhận không có dữ liệu trong đó Nên nhớ rằng giá trịNULL khác với giá trị của một chuỗi không có ký tự trong đó hoặc số có giá trị 0.
+ Index:
Người ta nói rằng ưu điểm vượt trội của Hệ quản trị CSDL quan hệ là nó thực hiệncác việc tìm kiếm hay sắp xếp những khối lượng dữ liệu khổng lồ một cách rất nhanhchóng Sở dĩ nó thực hiện được việc này là do nó có chứa một cơ cấu lưu trữ dữ liệu gọilà Index Index cho phép database server tạo được một field đặc trưng tìm kiếm với tốcđộ khó ngờ Các INDEX đặc biệt hỗ trợ một hoặc một nhóm các record trong một tablechứa số lượng lớn các record Chúng cũng hỗ trợ tốc độ cho các hàm liên kết hoặc táchnhóm dữ liệu nhmin(), max().
Với các tính năng vượt trội này, tại sao người ta lại không tạo index trong tất cả cácfield của một table? Có một số điều trở ngại như sau:
- Index có sẽ làm chậm một số tiến trình trong CSDL Mỗi lần bảo trì các indexDatabase Server phải mất khá nhiều thời gian Có một vài trường hợp chính cácindex làm cho chúng chậm hẳn
- Đối với một table có gắn khoá chính (primary key) thì thông thường field có khoánày được dùng vào việc tìm kiếm cho nên index sẽ được gán tự động trên fieldnày.
+ Lệnh CREATE Database: