Tải bản đầy đủ (.pdf) (57 trang)

Thực tập chuyên ngành: Phân tích thiết kế và xây dựng website giới thiệu sản phẩm cho shop thời trang Daisy

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.08 MB, 57 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO 
THỰC TẬP CHUYÊN NGÀNH

ĐỀ TÀI: PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG WEBSITE GIỚI
THIỆU SẢN PHẨM CHO SHOP THỜI TRANG DAISY

Sinh viên thực hiện: Nguyễn Hoàng Anh
Lớp ĐHLT ­ CNTT­  K16D
Giáo viên hướng dẫn:Ths. Quách Xuân Trưởng

1


Hà Nội, Ngày 15 Tháng 4 Năm 2019
LỜI CẢM ƠN
Trước tiên em xin gửi lời cám  ơn chân thành sâu sắc tới các thầy cô giáo 
trong trường Đại học Công Nghệ Thông Tin & Truyền Thông nói chung và các thầy  
cô giáo trong khoa Công Nghệ  Thông Tin, bộ  môn Kỹ  Thuật Phần Mềm nói riêng  
đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu 
trong suốt thời gian qua.
Đặc biệt em xin gửi lời cảm  ơn đến thầy Quách Xuân Trưởng, thầy đã tận 
tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm đề tài. Trong  
thời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích  
mà còn học tập được tinh thần làm việc, thái độ  nghiên cứu khoa học nghiêm túc,  
hiệu quả, đây là những điều rất cần thiết cho em trong quá trình học tập và công  tác 
sau này.
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đóng  
góp ý kiến và giúp đỡ trong quá trình học tâp, nghiên cứu và hoàn thành đề tài thực tập  


của mình.
Hà Nội, ngày 15 tháng 4 năm 2019
                  Người viết

Nguyễn Hoàng Anh

2


MỤC LỤC

3


LỜI NÓI ĐẦU
Với sự  phát triển mạnh mẽ  của công nghệ  thông tin và sự  lớn mạnh, rộng  
khắp của mạng máy tính toàn cầu. Việc  ứng dụng tin học vào các lĩnh vực của  
cuộc sống ngày càng được quan tâm và sử dụng hiệu quả, đem lại lợi ích to lớn về 
mọimặt. Sự lớn mạnh của mạng máy tính đã xóa bỏ  mọi gianh giới về không gian 
và thời gian để  đem con người và tri thức xích lại gần nhau hơn. Thông qua mạng 
máy tính, con người có thể được tiếp xúc với mọi loại tri thức như tri thức văn hóa,  
xã hội, khoa học kỹ thuật. Do vậy ngày càng có nhiều  ứng dụng được viết để  hỗ 
trợ công việc thủ công của con người, đặc biệt là các ứng dụng quản lý như quản 
lý nhân sự, quản lý hàng hóa, quản lý điểm. Trước kia khi mạng Internet còn chưa  
phổ  biến thì các  ứng dụng thường được viết trên máy Desktop, ngày nay Internet  
không còn xa lạ  với bất cứ ai do vậy các  ứng dụng cũng có xu thế  phát triển dần  
trên nền Web.Trong đề tài “Phân tích thiết kế và xây dựng website giới thiệu sản  
phẩm cho shop thời trang Daisy” này tôi xin trình bày về  một ngôn ngữ  lập trình 
web hiện đang được sử  dụng phổ  biến đó là ngôn ngữ  PHP. Trong quá trình phân 
tích và cài đặt ứng dụng không thể  không tránh khỏi những thiếu sót, rất mong sự 

giúp đỡ tận tình của các thầy cô trong Bộ môn và bạn bè đồng nghiệp.

4


CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 HTML (HyperText Markup Language)
HyperText Markup Language (HTML) là hàng loạt các đoạn mã chuẩn với 
các quy ước được thiết kế để tạo ra trang web, giúp tạo và chia sẻ các tài liệu điện  
tử  tích hợp đa phương tiện qua Internet và được hiển thị  bởi những trình duyệt 
Web.HTML là nền tảng của World Wide Web, một dịch vụ toàn cầu của Internet.  
Weblà dịch vụ  mang tính đồ  hoạ  cao trong các dịch vụ  Internet, cho phép người 
dùng có thể tự tạo cho riêng họ những trang Web. HTML cho phép áp dụng siêu liên 
kết chotài liệu và trình bày tài liệu với phông chữ, hình  ảnh, kiểu gióng hàng phù  
hợp vớihệ thống hiển thị văn bản.
HTML không phải ngôn ngữ lập trình. Thay vào đó, tạo các trang Web
thường nói đến như là “authoring” (sáng tác) và đơn giản hơn nhiều so với việc tạo  
ra các  ứng dụng trên máy tính.Có nhiều trình soạn thảo HTML và Web khác nhau 
như: NotePad, InternetExplorer, Microsoft FrontPage hay Netscape Navigator có công 
cụ soạn thảo đơngiản cho phép tạo và hiệu chỉnh tập tin HTML.
Cấu trúc của HTML rất đơn giản và logic, với bố cục  từ trên xuống dưới, từ 
trái qua phải, với 2 phần chính là HEAD và BODY. Các website viết bằng HTML 
đều tuân theo cấu trúc cơ bản như sau:
+ Mọi trang HTML đều phải khai báo DOCTYPE (định nghĩa chuẩn văn bản) 
ngay từ dòng đầu tiên.
+ Thẻ <html> cho trình duyệt biết mở đầu và kết thúc của trang HTML.
+ Thẻ <head> chứa tiêu đề và các thông tin khai báo, các thông tin ẩn khác.
+ Thẻ  <body> sẽ hiển thị nội dung của trang web. Đây là phần thông tin mà 
người dùng sẽ nhìn thấy khi trình duyệt đọc các mã HTML.
+ Mọi kí tự  nằm giữa dấu <!– và –> sẽ  được xem là thẻ  comment và sẽ  bị 

trình duyệt bỏ qua, không xử lý và không hiển thị.
Ví dụ:
<html>
 <head>
5


 <title>Đây là thẻ đánh dấu tiêu đề trang web</title>
 <!­­ Comment: Các thông tin khai báo, các thông tin ẩn ­­>
 </head>
 <body>
 <!­­ Comment: Nội dung trang web mà người dùng sẽ thấy ­­>
 <b>Đây là dòng chữ in đậm</b>
 <i>Đây là dòng chữ in nghiêng</i>
 </body>
</html>
1.2 CSS (Cascading Style Sheets)
CSS là viết tắt của cụm từ "Cascading Style Sheet", nó là một ngôn ngữ quy  
định cách trình bày của các thẻ html trên trang web. Là ngôn ngữ đang được sử dụng  
rất nhiều trong lập trình web, có thể  nói CSS ra đời đã tạo nên một cuộc cách 
mạng. Đôi khi các bạn sẽ bối rối khi nhận thấy rằng các đoạn code mình viết hiển 
thị không giống nhau trên các trình duyệt khác nhau, CSS sẽ giúp các bạn giải quyết  
bài toán này.CSS quy định cách hiển thị  nội dung của các thẻ  HTML trên các trình  
duyệt gần như giống nhau,bằng cách quy định các thuộc tính cho thẻ HTML đó.
1.2.1 Tại sao phải sử dụng CSS
­ CSS cung cấp cho bạn hàng trăm thuộc tính trình bày dành cho các đối  
tượng với sự  sáng tạo cao trong kết hợp các thuộc tính giúp mang lại hiệu quả.  
Ngoài ra, hiện tại CSS đã được hỗ trợ bởi tất cả các trình duyệt, nên bạn hoàn toàn  
có thể tự tin trang web của mình có thể hiển thị hầu như (như nhau) dù trên một hệ 
thống sử  dụng Windows, Linux hay trên một máy Mac miễn là bạn đang sử  dụng 

một phiên bản trình duyệt mới nhất.
­   CSS  đưa   ra   phương   thức   “ngoại   tuyến”   giúp   áp  dụng   một  khuôn   mẫu 
chuẩn từ  một file CSS  ở  ngoài. Nó thật sự có hiệu quả  đồng bộ  khi bạn tạo một  
website có hàng trăm trang hay cả khi bạn muốn thay đổi một thuộc tính trình bày  
nào đó. 
­ Sử  dụng CSS làm thay đổi font chữ  hay màu chữ  cho một thành phần nào 
đó

6


­ Ngoài ra, CSS còn cho phép bạn áp đặt những kiểu trình bày thích hợp hơn cho 
các phương tiện khác nhau như màn hình máy tính, máy in, điện thoại,…
1.2.2 Cách chèn CSS vào trang HTML
Cách   1:   Chèn   nội   dung   CSS   vào   trong   cặp   thẻ   <style></style>   trong   phần  
<head></head> của trang web:
Ví dụ:
<html>
<head>
<title>Chen CSS­Cách 1</title>
<style type="text/css">
//Nội dung CSS đặt bên trong đây 
</style>
</head>
<body>
</body>
</html>
Cách 2: Chèn trực tiếp vào bên trong thẻ HTML
­ Chèn trực tiếp CSS vào bên trong các thẻ mở của HTML.
­   Nếu   có   nhiều   thuộc   tính   cần   quy   định,   ta   ngăn   cách   giữa   chúng   bằng  

khoảng trắng.
Ví dụ: Ở đây ta chèn CSS vào thẻ mở của cặp thẻ 

.
<html>
<head>
<title>Chen CSS­Cách 2</title>
</head>
<body>


</body>
</html>
7


Cách 3: Liên kết với một file *.css bên ngoài
­ Đây là cách được dùng nhiều nhất trong sử dụng CSS vì tính tiện dụng và  
linh hoạt của nó. Giả  sử, bạn có một website gồm hàng trăm trang, khi bạn muốn 
thay đổi một chút cách trình này của website, thay vì gạch cạch đi gõ từng trang 
một, bạn chỉ cần sửa file CSS bên ngoài một chút, hàng trăm trang web của bạn đều 
được thay đổi.
­ Cú pháp: Thực hiện liên kết bằng thẻ <link>( Không có tag đóng ), theo cú 
pháp sau:
<link rel="stylesheet" href="Đường dẫn đên file .css" type="text/css" />
Tag này được đặt trong cặp tag <head></head> của trang web, và không cần  
đặt trong tag <style></style>
­ Nếu bạn đặt file *.css cùng thư mục với trang web, thì trong thuộc tính href  
bạn chỉ cần viết: href="­ Nếu file *.css không cùng thư mục với trang web: Bạn cần chỉ trong đường  
dẫn tuyệt đối tới file *.css đó trong thuộc tính href
Ví dụ:

<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
</body>
</html>
1.2.3 Một số thuộc tính thường dùng trong css
Thuộc tính
background
border
border­collapse
border­spacing
8

Ví dụ
Mô tả
background: #ff0000; Định dạng nền (background) cho thành phần.
border:   1px   solid 
Định dạng đường viền cho thành phần.
#ff0000;
border­collapse: 
Thuộc   tính   border­collapse   xác   định   đường 
collapse;
border­spacing: 10px;

viền củatable có tách biệt ra hay không.
Xác định khoảng cách giữa các đường viền 
của các cột lân cận.



bottom
caption­side
clear
clip

bottom: 10px;

được định vị trí.
caption­side: bottom; Xác định vị trí một chú thích của table.
Xác định 2 bên của phần tử  (left, right), nơi  
clear: both;
mà phần tử float không được cho phép.
clip: 
Xác định đoạn cho thành phần khi sử  dụng 

color

rect(0,0,50px,10px);
color: #ff0000;

content

content: "."

counter­

counter­increment: 

increment


section;
counter­reset: 

counter­reset

Xác   định   vị   trí   dưới   cùng   của   thành   phần 

cursor
direction
display

subsection;
cursor: pointer;
direction: ltr;
display: inline;

empty­cells

empty­cells: hide;

float

float: left;

thuộc tính position có giá trị "absolute".
Xác định màu sắc cho text.
Sử  dụng kèm với bộ  chọn ":before", ":after"  
để chèn nội dung được tạo.
Gia tăng một hoặc nhiều counter (sắp xếp có 

thứ tự, có hiển thị số)
Tạo hoặc reset một hoặc nhiều counter.
Xác định kiểu con trỏ chuột được hiển thị.
Xác định hướng cho văn bản.
Xác định loại hiển thị của thành phần.
Xác định có hay không có đường viền và nền 
trong một cột rỗng của table
Xác định có hay không một thành phần được 

float.
font:   12px   arial,sans­Thiết lập font cho thành phần, bao gồm font 

font
height
line­height
min­height

serif;
height: 50px;
line­height: 1.5;
min­height: 100px;

chữ, độ rộng,...
Thiết lập chiều cao của thành phần.
Thiết lập chiều cao giữa các dòng.
Thiết lập chiều cao tối thiểu của thành phần.

1.3 PHP (Hypertext Preprocessor)
1.3.1 Giới thiệu về PHP
PHP (Hypertext Preprocessor) là một ngôn ngữ  lập trình kịch bản hay một  

loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã  
nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể  dễ 
dàng nhúng vào trang HTML. Do được tối  ưu hóa cho các  ứng dụng web, tốc độ 
nhanh, nhỏ  gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm  

9


tương đối ngắn hơn so với các ngôn ngữ  khác nên PHP đã nhanh chóng trở  thành 
một ngôn ngữ lập trình web phổ biến nhất thế giới.
1.3.2 Tại sao nên sử dụng PHP
­ PHP được sử dụng rộng rãi, miễn phí, cấu hình nhanh chóng, nhỏ gọn.
­ PHP có khả năng đạt hiệu suất cao trong làm việc.
­ PHP có tính khả  chuyển, một  ứng dụng dù được phát triển trên Windows 
vẫn có thể chạy bình thường trên
­ PHP là một dự án mã nguồn mở. Ngôn ngữ này được phát triển bởi một đội 
ngữ những người tình nguyện trên toàn cầu.
1.3.3 Một số thuộc tính thường dùng trong PHP
a.Biến, hằng số, kiểu dữ liệu trong PHP
Kiểu dữ liệu
­ Các kiểu dữ  liệu khác nhau chiếm các lượng bộ  nhớ  khác nhau và có thể 
được xử lý theo cách khác nhau khi chúng được thao tác trong một script.
Trong ngôn ngữ lập trình PHP chúng ta có 6 kiểu dữ liệu chính như sau:
Kiểu Dữ Liệu
 Integer
 Double

5
7.343


String

 How are you?

Boolean 
Object
Array

Ví dụ

Mô tả
 Là Kiểu số nguyên
 Kiểu số thực
 Một   tập   hợp   các   ký 

tự
True of False
 Giá trị true hoặc false
Kiểu hướng đối tượng trong PHP
Kiểu mảng trong PHP

Hằng số
Hằng là những giá trị  không đổi. Chúng ta thường dùng hằng để lưu các giá 
trị không đổi trong suốt chương trình.
Khai báo hằng: Ta dùng define() để khai báo hằng.
Ví dụ: define(“version”,4);
Hàm define(): dùng để kiểm tra xem một hằng nào đó đã được khai báo chưa.
Biến và giá trị logic

10



PHP không có khái niệm TRUE hoặc FALSE. Các giá trị TRUE được hiểu là 
những giá trị bằng 1, và giá trị FALSE là những giá trị bằng 0 hoặc xâu rỗng.
Khi sử dụng biến chúng ta không cần khai báo kiểu.
Nếu như thực hiện phép toán có kiểu số và kiểu string. PHP sẽ  coi chuỗi là  
một dãy như sau: 
$str =”222 B Baker Street”;
Ta thấy biến $str có kiểu string, và nếu cộng số 3 với giá trị này thì:
$x = 3 + $str; // $x = 225
Khi đó $x nhận được giá trị 225 vì PHP đã cộng 3 với 3 số đầu. Nhưng nếu ta in giá 
trị của $str thì:
Echo $str;// print:”222 B Baker Street
b.Các toán tử
Toán tử số học
Tên
Phép cộng
Phép trừ
Phép nhân
Phép chia
Phép chia lấy dư

Ký hiệu
+
­
*
/
%

Phép gán

Ví dụ: $x = 1;
$y = $x + 1;
11

Mô tả
Cộng hai số hạng
Trừ hai số hạng
Nhân hai số hạng
Chia hai số hạng
Chi lấy dư

Ví dụ
$a + $b
$a ­ $b
$a * b
$a / $b
5 % 2 = 1


Toán tử so sánh
Tên

Ký hiệu

So sánh bằng

==

So sánh khác


!=

So sánh lớn hơn
>
So sánh nhỏ hơn
<
Lớn hơn hoặc bằng >=
Nhỏ hơn hoặc bằng <=
Tên

Ký hiệu

Phép và

&& hoặc and

Phép hoặc

|| hoặc or

Phủ định

!

Mô tả
Ví dụ
Hai   số   hạng   bằng 
$a == $b
nhau
Hai   số   hạng   khác 

$a != $b
nhau
So sánh lớn hơn
$a > b
So sánh nhỏ hơn
$a < $b
Lớn hơn hoặc bằng $a >= $b
Nhỏ hơn hoặc bằng $a <= $b
Toán tử logic

Mô tả
Ví dụ
Cả 2 vế phải thoả mãn$a > $b && $a > 
 
điều kiện
$c
Một trong  2 thoả   mãn 
$a > $b || $a < $c
điều kiện là được
Phủ  định  1  điều kiện, 
$a != b
giá trị nào đó

Các phép toán với biến kiểu string
Ta sử dụng dấu “.” để ghép 2 biến kiểu string với nhau.
Để có thể chèn một biến vào trong toán hạng có kiểu string thì tên biến phải  
để trong dấu đóng mở ngoặc nhọn.
Echo (“${last} ‘bycycles”);
c.Các câu lệnh điều khiển
Lệnh If_else: đây là lệnh rẽ nhánh có điều kiện

Dạng 1:
If (biểu thức) câu lệnh;
Câu lệnh  ở  đây tương đương với một khối lệnh. Một khối lệnh được đặt  
trong dấu ngoặc kép.
Dạng 2:
If (biểu thức)
câu lệnh 1;
else
12


câu lệnh 2;
Câu lệnh switch: là câu lênh rẽ nhánh có điều kiện trong đó thực hiện 1 trong n cái  
rẽ nhánh.
Switch(biểu thức n)
{
Case n1;
Câu lệnh 1;
Break;
...
Case nn;
Câu lệnh nn;
[defaulf: câu lệnh]
}
Câu lệnh FOR: là lệnh tạo chu kì có điều kiện.
Dạng lệnh: for(bt1;bt2;bt3)
{
Câu lệnh;
}
Câu lệnh WHILE: là một lệnh tạo chu trình có điều kiện, điều kiện được kiểm tra 

ở đầu chu trình.
While (biểu thức)
Câu lệnh;
Lênh DO ... WHILE: là một lệnh tạo chu trình có điều kiện, trong đó điều kiện 
thực hiện chu trình được kiểm tra cở cuối chu trình.
Dạng lệnh:
Do {
Câu lệnh;
} While(biểu thức);
d.Hàm trong PHP
Quy tắc xây dựng hàm
13


Function tên_ham(danh sách đối số hình thức){
Thân hàm
}
­

Định nghĩa hàm không nhất thiết phải nằm ngoài thân mọi hàm, trong hàm có 
thể  có hàm khác. Nhưng việc sử  dụng một hàm không khác nhau giữa xây  
dựng hàm trong thân một hàm và ngoài một hàm.

­

Tên hàm tùy đặt và khác tên hàm chuẩn.

­

Hàm có thể có giá trị trả về hoặc không.

Các câu lệnh được quyền gọi bất kì hàm nào đã được khai báo và đã được 

định nghĩa.
Return:
+ Trả một giá trị về cho nơi gọi hàm.
+ Là nơi báo kết thúc hàm.
Gọi hàm
+ Hàm phải được xây dựng trước khi gọi.
+ Khi gọi hàm, nếu có giá trị trả về thường được đặt trong biểu thức.
Biến toàn cục và biến cục bộ
Thông thường PHP coi các biến được sử dụng trong thân của hàm là biến cục 
bộ. Nghĩa là biến trong thân hàm không làm thay đổi giá trị của biến ở ngoài hàm đó.  
Muốn làm thay đổi giá trị  của biến ta cần khai báo global trước biến đó trong thân 
hàm.
e.Biến mảng trong PHP
Mảng một chiều
Mảng là một biến bao gồm nhiều phần tử có cùng tên nhưng khác nhau về 
chỉ số (các chỉ số này tăng dần từ 0 đến n). Các phần tử của mảng không nhất thiết 
phải cùng kiểu.
+ Khai báo mảng 1 chiều:
Ta có thể  khai báo mảng bằng cách gán tên mảng với dấu đóng mở  ngoặc 
vuông không có chỉ số
Ví dụ: $mang[] = “ab”;
14


 $mang[] = “ef”;
Ví dụ trên tạo ra một mảng gồm 2 phần tử có chỉ số là 0 và 1. Việc đó cũng tương 
tự như gán:
$mang[0] = “ab”;

$mang[1] = “ef”;
Ngoài ra các chỉ số của mảng không nhất thiết phải tăng dần mà có thể được khai  
báo như sau:
$mang[50] = “ab”;
$mang[20] = “ef”;
Khi đó để thêm một phần tử mới vào mảng chúng ta có thể viết:
$mang[] = “uk”; //chỉ số sẽ là 51
Một phần tử mới được thêm vào với chỉ số lớn nhất của mảng cộng thêm 1. Ngoài 
ra cũng có thể khai báo mảng một chiều bằng câu lênh array.
$mang = array(“ab”, “ef”);
Mảng hai chiều
Ta có thể khai báo mảng hai chiều như sau:
$mang = array(“europs” => (“de”, “uk”), “north america” =>(“ca”, “cr”, “us”));
Echo ($mang[“europs”][1]);
Ta có cấu trúc của mảng trên như sau:
$mang[“eu
rops”]
[0]
“de”

$mang[“north america”]
[1]
“uk”

[0]
“ca”

[1]
“cr”


[2]
“us”

f. Lập trình hướng đối tượng
Định nghĩa lớp
Chúng ta có thể  định nghĩa lớp bằng toán tử  class, và trong mỗi một lớp  
chúng ta sẽ xây dựng các phương thức và thuộc tính cho lớp đó.
Giả sử muốn xây dựng lớp “sesion” chúng ta làm như sau:
Class sesion
15


{
//Định nghĩa các thuộc tính và phương thức
// Xây dựng các phương thức cho lớp
//Kết thúc một lớp
}
?>
Để  định nghĩa thuộc tính cho lớp, chúng ta đặt từ  khóa var trước thuộc tính 
đó.
Class sesion
{
Var $splhost = “localhost”;
...
//Định nghĩa các phương thức ở đây
//Kết thúc định nghĩa lớp
}
?>

Tiếp theo chúng ra sẽ định nghĩa các phương thức cho lớp trên.
Phương thức cần xây dựng đầu tiên là sesion(), sau đó đến các phương thức khác.
//Định nghĩa lớp session
Class sesion
{
//Định nghĩa các thuộc tính 
...
// Định nghĩa các phương thức
Function sesion($localseshID,$localuserID = 0)
{
$this­>seshid = $localseshid;
$this­>userid = $localuserid;
// Kết nối với mysql
16


$this­>linked = mysql_connect($this­>sqlhost,$this­>sqluser,$this­>sqlpass);
If(!$this­>linked)
{
$this­>err = mysql_error();
$this­>error_no = 102;
}
}
}
?>
Sử dụng lớp đã được định nghĩa
Để khai báo một đối tượng có kiểu thuộc tính lớp đã xây dựng ta dùng toán tử new 
nhưu sau:

Require(“classes/sesion.php”);//include class;
$mysesh = new session($seshid);
If ($mysesh­>error_no)
{
//Thông báo lỗi
}
$user = $mysesh­>sessdata(userid);
?>
<html>
<head>
<title>Chào mừng bạn tới website của tôi, <? Echo $user; ?></title>
</head>
<body>
next page</a>
<FORM action=”nextpage.php” METHOD=”POST”>
</FORM>
17


</body>
</html>
1.4 Tìm hiểu về Mysql
1.4.1 Giới thiệu về Mysql
MySQL là một cơ  sở  dữ  liệu quan hệ  miễn phí hiện nay  đã được hãng  
Oracle mua lại từ hãng Sun. Nó thường được sử dụng kết hợp với PHP để lưu trữ 
dữ  liệu của  ứng dụng website khi người dùng thao tác trên website của chúng ta.  
Nếu các bạn đã từng học SQL Server một hệ cơ sở dữ liệu quan hệ c ủa Microsoft  
thì khi tiếp cận với MySQL sẽ dễ dàng hơn, vì chúng vẫn được xây dựng giống 
nhau về tư tưởng, kiến trúc.

1.4.2 Một số câu lệnh truy vấn cơ sở dữ liệu
Lệnh: Insert
Lệnh Insert là câu lệnh SQL dùng để chèn một bản ghi vào table.
Cú pháp:
INSERT INTO table_name (field1, field2) VALUES (‘value1′, ‘value2′);


table_name: là tên của bảng



field: là trường dữ liệu, các field được tách nhau bởi dấu phẩy



value: là giá trị tương ứng với các field cũng được tách nhau bởi dấu phẩy

Ví dụ
INSERT INTO `friday`.`tbl_teachers` (`teacher_id`, `teacher_name`, `teacher_email`, 
`teacher_phone`)   VALUES   (NULL,   'Vũ   Văn   Khương',   '', 
'01672022521');
Lệnh Update
Lệnh Update là câu lệnh SQL dùng để  cập nhật giá trị  cho một hoặc nhiều  
bản ghi đang có trong bảng (tùy vào điều kiện giới hạn số bản ghi thực hiện  của 
bạn).
Cú pháp:
UPDATE   table_name   SET   field1   =   ‘value1′,   field2   =   ‘value2 ′   WHERE  
điều_kiện
+ table_name: là bảng dữ liệu cần cập nhật
+ field = ‘value’: các trường và giá trị tương ứng cần cập nhật

18


+ WHERE điều_kiện: Điều kiện giới hạn số  bản ghi cần thực hiện (nếu  
không có điều kiện WHERE) MySQL sẽ xử lý toàn bộ các bản ghi trên bảng.
Ví dụ: 
UPDATE tbl_teachers SET teacher_name = 'Đỗ Chiến' WHERE teacher_id = 1
Câu lệnh này sẽ  thực hiện sửa tên của bản ghi có mã giảng viên = 1, chính là bản  
ghi mình vừa thực hiện INSERT vào.
Lệnh Delete
Lệnh Delete là câu lệnh SQL dùng để xóa một hay nhiều bản ghi
Cú pháp:
DELETE FROM table_name WHERE điều_kiện
+ table_name: là tên bảng dữ liệu cần xóa
+ WHERE điều_kiện: là các điều kiện để  giới hạn số  bản ghi bị  tác động  
(nếu bỏ trống toàn bộ các bản ghi trong bảng này sẽ bị xóa bỏ)
Ví dụ: 
DELETE FROM tbl_teachers WHERE teacher_id = 1
Câu lệnh này sẽ thực hiện xóa bản ghi có mã giảng viên = 1
Lệnh SELECT
Câu lệnh SELECT là câu lệnh SQL dùng để truy vấn các bản ghi trong cơ sở 
dữ liệu của bạn. Đây là câu lệnh SQL được sử dụng nhiều nhất, tùy biến nhất để 
giải quyết mọi yêu cầu khai thác dữ liệu của bài toán.
Cú pháp:
SELECT field1, field2, FROM table_name WHERE điều_kiện ORDER BY 
field ASC|field DESC|rand() LIMIT Số bản ghi|Giá trị đầu, giá trị cuối
+ Field1, Field2 là các trường dữ liệu cần truy vấn
+ tablename là bảng dữ liệu cần truy suất
+ WHERE điều_kiện là các điều kiện để có được dữ liệu mong muốn
+ ORDER BY field ASC lệnh sắp xếp dữ liệu tăng dần

+ ORDER BY field DESC lệnh sắp xếp dữ liệu giảm dần
+ ORDER BY rand() lệnh lấy ngẫu nhiên
+ LIMIT số_bản_ghi lấy n bản ghi
+ LIMIT 0,n: lấy n bản ghi từ vị trí 0
19


Ví dụ: 
SELECT * FROM tbl_teachers WHERE teacher_id = 1
Câu lệnh trên sẽ lấy được toàn bộ các trường dữ liệu của mã giảng viên = 1
1.5 Tìm hiều về phân tích thiết kế hệ thống hướng đối tượng và mô hình hóa  
hệ thống
1.5.1 Giới thiệu về UML
­ Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language ­ UML) là  
một ngôn ngữ  để  biểu diễn mô hình theo hướng đối tượng được xây dựng bởi  
JamesRumbaugh, Grady Booch và Ivar Jacobson với chủ đích là:
+ Mô hình hóa các hệ thống sử dụng các khái niệm hướng đối tượng.
+ Thiết lập một kết nối từ nhận thức của con người đến các sự kiện cần mô 
hình hóa.
+ Giải quyết vấn đề  về  mức độ  thừa kế  trong các hệ  thống phức tạp, có  
nhiều ràng buộc khác nhau.
+ Tạo một ngôn ngữ mô hnh hóa có th
́
ể sử dụng được bởi người và máy.
­ UML là một ngôn ngữ  mô hình hóa thống nhất có phần chính bao gồm  
những kýhiệu hình học, được các phương pháp hướng đối tượng sử  dụng để  thể 
hiện và miêu tả các thiêt kế của một hệ thống. Nó là một ngôn ngữ để đặc tả, trực  
quan hóa, xây dựng và làm tư liệu cho nhiều khía cạnh khác nhau của một hệ thống  
có nồng độ phần mềm cao. UML có thể được sử dụng làm công cụ giao tiếp giữa 
người dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm.

1.5.2 Các thành phần của ngôn ngữ UML
Ngôn ngữ  UML bao gồm một loạt các phần tử  đồ  họa (graphic element) có  
thể  được kết hợp với nhau để  tạo ra các biểu đồ. Bởi đây là một ngôn ngữ, nên 
UML cũng có các nguyên tắc để kết hợp các phần tử đó.
Một số những thành phần chủ yêu của ngôn ngữ UML:
+ Hướng nhìn (view): hướng nhìn chỉ  ra các khía cạnh khác nhau của hệ 
thống cần phải được mô hình hóa. Một hướng nhìn không phải là một bản vẽ mà là  
một sự trừu tượng hóa bao gồm một loạt các biểu đồ khác nhau. Chỉ qua việc định  
nghĩa một loạt các hướng nhìn khác nhau, mỗi hướng nhìn chỉ  rao một khía cạnh 
riêng biệt của hệ  thống, người ta mới có thể  tạo dựng nên một bức tranh hoàn 
20


thiện về  hệ  thống. Cũng chính các hướng nhìn này nối kết ngôn ngữ  mô hình hóa 
với quy trình được chọn cho giai đoạn phát triển.
+ Biểu đồ  (diagram): là các hình vẽ  miêu tả  nội dung trong 1 hướng nhìn. 
UML có tất cả  9 loại biểu đồ  kahcs nhau được sử  dụng trong những sự  kết hợp  
khác nhau để cung cấp tất cả các hướng nhìn của một hệ thống.
+ Phần tử  mô hình hóa (model element): các khái niệm được sử  dụng trong  
các biểu đồ  được gọi là các phần tử  mô hình, thể  hiện các khái niệm hướng đối  
tượng quen thuộc. Ví dụ như lớp, đối tượng, thông điệp cũng như các quan hệ giữa  
các khái niệm này, bao gồm cả liên kết, phụ thuộc, khái quát hóa. Một phần tử mô 
hình thường được sử dụng trong nhiều biểu đồ  khác nhau, nhưng nó luôn luônn có 
chỉ một ý nghĩa và một ký hiệu.
+ Cơ  chế  chung: cư  chế  chung cung cấp thêm những lời nhận xét bổ  sung, 
các thông tin cũng như các quy tắc ngữ pháp chung về một phần tử mô hình, chúng  
còn cung cấp thêm cơ chế để có thể mở rộng ngôn ngữ UML cho phù hợp với một 
phương pháp xác định (một quy trình, một tổ chức hoặc một người dùng)
1.5.3 Biểu đồ (diagram)
Biểu đồ User case (Use Case Diagram)

Một biểu đồ  use case chỉ  ra một số  lượng các tác nhân ngoại cảnh và mối  
liên kết của chúng đối với use case mà hệ thống cung cấp. Một Use case là một lời  
miêu tả của một chức năng mà hệ thống cung cấp. Lời miêu tả Use case thường là  
một văn bản tài liệu, nhưng kèm theo đó cũng có thể là một biểu đồ hoạt động. Các  
Use case được miêu tả  duy nhất theo hướng nhìn từ  ngoài vào của các tác nhân 
(hành vi của hệ thống theo sự mong đợi của người sử  dụng), không miêu tả  chức  
năng được cung cấp sẽ hoạt động nội bộ  bên trong hệ  thống ra sao. Các Use case 
định nghĩa các yêu cầu về mặt chức năng đối với hệ thống.

21


Hình 1.1 Biểu đồ User Case
 Biểu đồ lớp (Class Diagram)

Một biểu đồ  lớp chỉ  ra cấu trúc tĩnh của các lớp trong hệ  thống. Các lớp là 
đại diện cho các “vật” được xử lý trong hệ thống. Các lớp có thể quan hệ với nhau  
trong nhiều dạng thức: liên kết (associated – được kết nối với nhau), chuyên biệt 
hóa (specialized – một lớp này là một kết quả  chuyên biệt hóa của một lớp khác),  
hay đóng gói (packaged ­ hợp với nhau thành một đơn vị). Tất cả  các mối quan hệ 
đó đều được thể hiện trong biểu đồ  lớp, đi kèm với cấu trúc bên trong của các lớp  
theo khái niêm thuộc tính (attribute) và thủ tục (operation). Biểu đồ được coi là biểu 
đồ  tĩnh theo phương diện cấu trúc được miêu tả  ở đây có hiệu lực tại bất kỳ thời  
điểm nào trong toàn bộ vòng đời đệ thống. Một hệ thống sẽ thường có một loạt các 
biểu đồ  lớp – chẳng phải bao giờ tất cả các biểu đồ  lớp này cũng được nhập vào 
một biều đồ lớp tổng thể duy nhất – và một lớp có thể tham gia vào nhiều biểu đồ 
lớp.

22



Hình 1.2 Biểu đồ lớp
 Biều đồ trình tự (Sequence Diagram)

Một biểu đồ  trình tự chỉ ra một cộng tác động giữa một loạt các đối tượng.  
Khía cạnh quan trọng của biểu đồ  này là chỉ  ra trình tự  các thông điệp (message) 
được gửi giữa các đối tượng. Nó cũng chỉ ra trình tự tương tác giữa các đối tượng, 
điều sẽ xảy ra tại một thời điểm cụ thể nào đó trong trình tự thực thi của hệ thống. 
Các biểu đồ trình tự chứa một loạt các đối tượng được biểu diễn bằng các đường 
thằng đứng. Trục thời gian có hướng từ trên xuống dưới trong biểu đồ, và biểu đồ 
chỉ  ra sự  trao đổi thông điệp giữa các đối tượng khi thời gian trôi qua. Các thông  
điệp được biểu diễn bằng các đường gạch ngang gắn liền với mũi tên (biểu thị 
thông điệp) nối liền giữa những đường thẳng đứng thể  hiện đối tượng. Trục thời 
gian cùng những lời nhận xét khác thường sẽ được đưa vào phần lề của biểu đồ.

Hình 1.3 Biểu đồ trình tự
23


 Biểu đồ cộng tác (Collaboration Diagram)

+ Một biều đồ  cộng tác chỉ  ra một sự  cộng tác động, cũng giống như  một  
biểu đồ  trình tự, thường người ta sẽ  chọn hoặc dùng biểu đồ  trình tự  hoặc dùng  
biểu đồ cộng tác. Bên cạnh việc thể hiện sự trao đổi thông điệp (được gọi là tương 
tác), biều đồ  cộng tác chỉ ra các đối tượng và quan hệ  của chúng (nhiều khi được 
gọi là ngữ  cảnh). Việc nên sử  dụng biểu đồ  trình tự  hay biều đồ  cộng tác thường  
sẽ được quyết định theo nguyên tắc chung sau: nếu thời gian hay trình tự là yếu tố 
quan trọng nhất cần phải nhần mạnh thì hãy chọn biều đồ  trình tự, nếu ngữ  cảnh  
là yếu tố  quan trọng hơn, hãy chọn biều đồ  cộng tác. Trình tự  tương tác giữa các 
đối tượng được thể hiện trong cả hai loại biểu đồ này.

+ Biểu đồ  cộng tác được vẽ  theo dạng một biểu đồ  đối tượng, nơi một loạt 
các đối tượng được chỉ  ra cùng với mối quan hệ  giữa chúng với nhau (sử  dụng  
những ký hiệu như trong biểu đồ lớp/biểu đồ tượng). Các mũi tên được vẽ giữa các 
đối tượng  để  chỉ  ra dòng chạy thông điệp giữa các đối tượng. Các thông điệp  
thường được đính kèm theo các nhãn (label), một trong những chức năng của nhãn 
là chỉ ra thứ tự mà các thông điệp được gửi đi. Nó cũng có thể chỉ ra các điều kiện, 
chỉ ra những giá trị được trả về ... Khi đã làm quen với cách viết nhãn, một nhà phát 
triển có thể  đọc biểu đồ  cộng tác và tuân thủ  theo dòng thực thi cũng như  sự  trao 
đổi thông điệp.
 Biểu đồ trạng thái

Biểu đồ  trạng thái thể  hiện chu kỳ  hoạt động của các đối tượng, hệ  thống  
con và cả hệ thống. Nó là một loại oto mát hữu hạn trạng thái, mô tả các trạng thái  
hành động mỗi đối tượng có thể có và các sự kiện gắn với trạng thái theo thời gian. 
Biểu đồ trạng thái có điểm mở đầu và điểm kết thúc như hình vẽ dưới:

Hình 1.4 Biểu đồ trạng thái

24


Khi một hóa đơn được tạo lập thì nó ở trạng thái chưa thanh toán, sau đó khi  
có sự kiện khách hàng thanh toán nghĩa là khách trả tiền cho các mặt hàng đã chọn  
mua thì nó chuyển sang trạng thái thanh toán.
 Biều đồ hoạt động

Biểu đồ  hoạt động chỉ  ra dòng hoạt động của hệ  thống, bao gồm các trạng  
thái hoạt động. Trong đó, từ  một trạng thái hoạt động sẽ  chuyển sang một trạng  
thái khác sau khi một hoạt động tương  ứng được thực hiện, nó chỉ  ra trình tự  các  
bước, tiến trình thực hiện cũng như các điểm quyết định và sự rẽ nhánh theo luồng  

sự kiện.
 Biểu đồ thành phần

Biều đồ thành phần chỉ ra cấu trúc vật lý của các thành phần trong hệ thống 
bao gồm: các thành phần mã nguồn, mã nhị  phân, thư  viện và các thành phần thực 
thi.
 Biểu đồ triển khai

Biểu đồ  triển khai chỉ  ra cách bố  trí vật lý các thành phần theo kiến trúc 
được thiết kế  của hệ  thống. Trong biểu đồ  này xác định các máy tính và thiết bị 
hoạt động, cũng như cách nối các nút lại với nhau. Biểu đồ triển khai địa chỉ hóa tới 
quan sát triển khai tính của công nghệ.
1.5.4 Các mối quan hệ
UML cho phép biểu diễn 4 mối quan hệ  giữa các đối tượng trong các hệ 
thống. Đó là: quan hệ phụ thuộc, quan hệ kết hợp, quan hệ tổng quát hóa, hiện thực 
hóa.
Quan hệ phụ thuộc
Đây là quan hệ ngữ nghĩa giữa hai phần tử trong đó sự thay đổi của 1 phân tử 
sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc. 
Quan hệ kết hợp
Kết hợp là quan hệ  cấu trúc xác định mối liên kết giữa các lớp đối tượng.  
Khi có một đối tượng của lớp này gửi/nhận thông điệp từ  chỗ  đối tượng của lớp 
kia thì hai lớp đó có quan hệ kết hợp.
Quan hệ tổng quát
25


×