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
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 q 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 q trình học tâp, nghiên cứu và hồ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
2
MỤC LỤC
3
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 tồ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 q 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
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> <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> 5
5
<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 hồn tồ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 ở ngồ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 đó - Ngồ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> 6
6
<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
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
8
Ví dụ
Mơ tả
background:
Định dạng nền (background) cho thành
#ff0000;
phần.
border: 1px solid
Định dạng đường viền cho thành phần.
#ff0000;
border-
border-collapse:
Thuộc tính border-collapse xác định đường
collapse
collapse;
viền củatable có tách biệt ra hay không.
border-
border-spacing:
Xác định khoảng cách giữa các đường viền
spacing
10px;
của các cột lân cận. 8
bottom caption-side clear
Xác định vị trí dưới cùng của thành phần
bottom: 10px;
được định vị trí.
caption-side:
Xác định vị trí một chú thích của table.
bottom;
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
rect(0,0,50px,10px);
thuộc tính position có giá trị "absolute".
color
color: #ff0000;
Xác định màu sắc cho text.
content
content: "."
counter-
counter-increment:
Gia tăng một hoặc nhiều counter (sắp xếp
increment
section;
có thứ tự, có hiển thị số)
clip
counter-reset
Sử dụng kèm với bộ chọn ":before", ":after" để chèn nội dung được tạo.
counter-reset:
Tạo hoặc reset một hoặc nhiều counter.
subsection;
cursor
cursor: pointer;
Xác định kiểu con trỏ chuột được hiển thị.
direction
direction: ltr;
Xác định hướng cho văn bản.
display
display: inline;
Xác định loại hiển thị của thành phần.
empty-cells
empty-cells: hide;
float
float: left;
font
font:
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.
12px
Thiết lập font cho thành phần, bao gồm font
arial,sans-serif;
chữ, độ rộng,...
height
height: 50px;
Thiết lập chiều cao của thành phần.
line-height
line-height: 1.5;
Thiết lập chiều cao giữa các dòng.
min-height
min-height: 100px;
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 qt. 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, 9
9
cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm 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 tồ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 String Boolean Object Array
Ví dụ
Mô tả 5 Là Kiểu số nguyên 7.343 Kiểu số thực How are you? 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 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 tốn có kiểu số và kiểu string. PHP sẽ coi chuỗi là một dãy như sau: 10
10
$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 tốn tử Tố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 + * / %
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
Phép gán Ví dụ: $x = 1; $y = $x + 1; Toán tử so sánh Tên 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 Phép và
11
Ký hiệu
Mô tả Hai số hạng bằng nhau Hai số hạng khác
nhau
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 tử logic
Ký hiệu Mô tả Ví dụ && hoặc Cả 2 vế phải thoả mãn $a > $b && $a > and
Phép hoặc
|| hoặc or
Phủ định
!
đ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 11
giá trị nào đó Các phép tố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 tố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 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; 12
12
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
-
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 ngồ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 ở ngồ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 vng khơng có chỉ số Ví dụ: $mang[] = “ab”; 13
13
$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”; Ngồ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. Ngồ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[“europs”]
[0] [1] “de” “uk”
$mang[“north america”] [0] [1] [2] “ca” “cr” “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 { //Đị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”; ... 14
14
//Đị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 $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 tố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> 15