Đồng thời do trình độ hiểu biết cũng như kinh nghiệm thực tiễn còn hạn chế nên bài báo cáo không tránh khỏi những thiếu sót, em rất mong nhận được ý kiến đóng góp của Thầy, Cô để em học
Trang 2LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đối với các thầy cô của trường Đại Học Công Nghệ Thông Tin và Truyền Thông Thái Nguyên, đặc biệt là các thầy cô khoa Khoa Học Máy Tính của trường đã tạo điều kiện cho em tham gia kì thực tập chuyên ngành để có nhiều trải nghiệm và những định hướng tốt cho ngành nghề mà em theo đuổi Và em cũng xin
chân thành cảm ơn thầy Lê Sơn Thái đã nhiệt tình hướng dẫn
em hoàn thành tốt kì thực tập
Trong quá trình thực tập, cũng như là trong quá trình làm bài báo cáo, khó tránh khỏi sai sót, rất mong các Thầy, Cô bỏ qua Đồng thời do trình độ hiểu biết cũng như kinh nghiệm thực tiễn còn hạn chế nên bài báo cáo không tránh khỏi những thiếu sót,
em rất mong nhận được ý kiến đóng góp của Thầy, Cô để em học thêm được nhiều kinh nghiệm và sẽ hoàn thành tốt hơn trong kì đồ án sắp tới
Em xin chân thành cảm ơn!
Sinh viên thực hiệnHoàng Văn Cường
Trang 3LỜI MỞ ĐẦU
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, công nghệ thông tin cũng được coi là những côngnghệ có trình độ cao và lần lượt chinh phục hết những đỉnh cao này đến đỉnh cao khác
Mạng Internet là một trong những sản phẩm có giá trị hết sức to lớn và ngày cảng trở thành một công cụ không thể thiếu,
là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu
Giờ đây, mọi việc liên quan tới thông tin trở nên thật dễ dàng cho người sử dụng: chỉ cần có một máy tính kết nối
Internet và một dòng dữ liệu truy tìm thì gần như ngay lập tức…
cả thế giới vấn đề mà bạn quan tâm sẽ hiện ra, có đầy đủ
thông tin, hình ảnh và thậm chí có cả âm thanh và video mà bạn cần
Trong hoạt động sản xuất, kinh doanh, giờ đây thương mại điện tử đã khảng định được vai trò xúc tiến và thúc đẩy sự phát triển các doanh nghiệp
Đối với các dịch vụ kinh doanh, việc quảng bá và giới thiệu đến khách hàng các chương trình khuyến mãi của các dịch vụ trong từng thời điểm một cách hiệu quả và kịp thời là yếu tố mang tính chất quyết định cho sự tồn tại và phát triển của
Trang 4- Xây dựng website hỗ trợ bán hàng.
* Nội dung của đề tài được chia thành 3 chương
- Chương 1: Cơ sở lí thuyết
- Chương 2: Phân tích thiết kế
- Chương 3: Thiết kế giao diện
CHƯƠNG I :CƠ SỞ LÝ THUYẾT
I HTML
1.HTML là gì?
HTML được ví như là bộ xương của một giao diện website,
dù nó là dành cho WordPress hay bất cứ website nào “Bộ
xương” này sẽ giúp chúng ta xác định bố cục trên mỗi website
và đánh dấu lại các phần đó bằng các thẻ (tag) nhất định, sau
đó nó sẽ tự xác định mỗi đối tượng được đánh dấu mang một vài trò riêng trong website
HTML là từ viết tắt của HyperText Markup Language, nghĩa
là ngôn ngữ đánh dấu siêu văn bản
Hypertext (siêu văn bản): là một đoạn text bất kì nhưng
có chứa link đến một nguồn thông tin khác (như một đoạn văn bản khác, một địa chỉ website, hình ảnh, âm thanh…)
Ngôn ngữ đánh dấu này sẽ là cầu nối của sự giao tiếp
giữa người dùng và trình duyệt, giúp trình duyệt hiểu được cách thức hiển thị trang web Khi trình duyệt đọc thấy
1 kí tự A, nó chỉ đơn thuần hiển thị A, chứ không thể biết bạn muốn tô đậm, in nghiêng, hay màu mè hoa lá thế nào cả Chínhlúc đấy, bạn cần HTML, thông qua việc sử dụng các thẻ HTML
Thẻ HTML được định nghĩa bằng một cặp từ khóa nằm giữa dấu < và dấu >, và báo cho trình duyệt biết cách thức hiển thị đoạn kí tự bên trong thẻ HTML đó
In đậm bằng thẻ <b>: <b>A</b>
In nghiêng bằng thẻ <i>: <i>A</i>
2 Cấu trúc cây HTML cơ bản
Trang 5Cấ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ị
<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 >
Trang 7<strong>Tô đậm theo chuẩn web ngữ nghĩa</strong>
<em>In nghiêm theo chuẩn web ngữ nghĩa</em>
<! Comment: thẻ p dùng để đánh dấu đoạn văn,
tách riêng với những đoạn text bình thường >
Trang 8Danh sách: Có 2 loại là danh sách có đánh số thứ tự <ol> và
danh sách không đánh số thứ tự<ul> Bên trong các thẻ danh
sách này, các phần tử được đánh dấu với thẻ <li>.
<a href="địa chỉ liên kết">Đây là một liên kết</a>
<a href="địa chỉ liên kết" target="_blank">Liên kết này sẽ mở ở cửa
sổ mới</a>
Ảnh:
01 <img src="đường dẫn đến ảnh" alt="chú thích cho ảnh"/>
Trang 9II CSS
1 Làm quen với CSS
Nếu HTML được xem như là bộ xương của một website thì CSS chính là da thịt được đắp lên bộ xương đó, mục đích đơn giản là cho website trông đẹp đẽ và chuyên nghiệp hơn
CSS là từ viết tắt của Cascade Style Sheet, là ngôn ngữ
giúp trình duyệt hiểu được các thiết lập định dạng và bố cục cho trang web CSS cho phép bạn điều khiển thiết kế của nhiều thành phần HTML chỉ với duy nhất 1 vùng chọn CSS Điều này giúp giảm thiểu thời gian thiết kế và chỉnh sửa, khi bạn có thể tách biệt được cấu trúc (HTML) và định dạng (CSS)
CSS cho phép bạn đưa các thông tin định nghĩa thẻ thông qua nhiều con đường khác nhau Style có thể được quy định ở trong chỉ một thẻ HTML, được quy định trong 1 trang web hoặc ở trong một file CSS bên ngoài
2 Cú pháp cơ bản của CSS
Cú pháp cơ bản của CSS bao gồm 3 phần: vùng chọn
(selector), thuộc tính (property) và giá trị (value).
Vùng chọn: là cách xác định các thẻ HTML dựa trên cấu
trúc phân cấp của HTML Vùng chọn có thể được tạo nên dựa trên nhiều yếu tố như định danh (id), tên lớp (class), quan hệ cha – con – hậu duệ… Bạn có thể xem ví dụ trực quan về một
số vùng chọn CSS tại đây, hoặc đọc thêm tại W3S
Thuộc tính: là yếu tố bạn muốn thay đổi ở các thẻ HTML
thuộc vùng chọn Danh sách các thuộc tính có thể xem thêm tại W3S
Trang 10Giá trị: mỗi thuộc tính sẽ yêu cầu một giá trị khác nhau
Đó có thể là 1 từ khóa định sẵn (none, block), một tên màu hay
mã màu (black, white, #000, #FFFFFF), hay một giá trị kích
thước tính bằng px, em, rem, %
3 Các vùng chọn CSS (selector) cần biết cho blogger
#ID
Dấu # được sử dụng để chọn một thẻ HTML có định danh cụ thể(ID) Do đó, bản chất của việc sử dụng ID không thể tái sử
dụng Hãy chắc chắn rằng việc gán ID cho thẻ HTML và chọn
thẻ này bằng ID này là cách duy nhất bạn có thể định dạng cho nó
<p class="grand-child">Yêu màu tím Sống nội tâm Hay
khóc thầm Nhưng không gay.</p>
</div>
</div>
.Class
Dấu “.” đại diện cho tên lớp Nhiều thẻ HTML có thể có cùng
tên lớp Do đó, sự khác nhau giữa ID và Class là: ID chỉ cho
phép chọn 1 phần tử, còn Class cho phép bạn chọn nhiều thẻ
Trang 11<p class="grand-child">Yêu màu tím Sống nội tâm Hay
khóc thầm Nhưng không gay.</p>
Trang 12bên trong thẻ A, không kể phân cấp, ngôi thứ như là con, là
<p class="grand-child">Yêu màu tím Sống nội tâm Hay
khóc thầm Nhưng không gay.</p>
chỉ xác định tất cả các thẻ B là con trực tiếp của thẻ A, chứ
không nằm bên trong thẻ nào khác
<p class="grand-child">Yêu màu tím Sống nội
tâm Hay khóc thầm Nhưng không gay.</p>
</div>
</div>
III.TỔNG QUAN VỀ PHP
Trang 13Php là gì?
Php được viết tắt của chữ Personal Home Page là ngôn
ngữ script trên server chạy trên phía máy chủ (Server side) giống như các server script khác như: asp, jsp, cold fusion,… Nócho phép dễ dàng xây dựng các trang web động, mà tương tác được với mọi cơ sở dữ liệu như: Informix, MySQL, PostgreSQL, Oracle, Sybase, SQL Server,…
Php còn là phần mềm mở, dùng cho mục đích tổng quát Thích hợp với Web và có thể dễ dàng nhúng vào trang HTML
Mã PHP có thể thực thi trên Webserver để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng
Đặc điểm của file php:
Php có thể chạy trên các môi trường (platforms) khác nhaunhư: Windows, Linux, Unix… Nó còn có khả năng tương thích với hầu hết các servers đang sử dụng hiện nay như: Apache, IIS
Ngoài ra các file PHP trả về kết quả cho trình duyệt là một trang thuần HTML, và các file PHP có thể chứa văn bản (Text), các thẻ HTML (HTML tags) và các đoạn mã kịch bản (Script)
Phần lớn các file PHP có phần mở rộng là: php, php3, Phpml và lưu ý rằng, từ phiên bản 4.0 trở về sau mới hỗ trợ session
Lịch sử phát triển:
Dưới đây là một số mốc phát triển của Php:
Năm 1995, phiên bản đầu tiên ra đời có tên là PHP/FI được viết bởi nhà phát triển phần mềm Rasmus Lerdorf
PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", baogồm một số các chức năng cơ bản của PHP ngày nay
Năm 1997, phiên bản PHP/FI 2.0 ra đời nhưng chỉ được công bố dưới dạng các bản beta Đến tháng 11 năm 1997 mới chính thức được công bố
Năm 1998, phiên bản PHP 3.0 được chính thức công bố
Trang 14Andi Gutmans và Zeev Suraski tiếp tục hoàn tất phần lõi nhằm cải tiến PHP 3.0
Tháng 05/2000, phiên bản PHP 4.0 với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố
29/06/2003, phiên bản PHP 5 Beta 1 đã chính thức được công bố
Tháng 10/2003, phiên bản Beta 2 ra mắt với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng
namespace một tính năng gây tranh cãi khác đã bị loại khỏi mãnguồn
Ngày 21/12/2003: phiên bản PHP 5 Beta 3 đã được công bố.Ngày 13/07/2004, phiên bản PHP 5 bản chính thức đã ra mắt sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC
1, RC2, RC3
Ngày 14/07/2005, phiên bản PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO
Hiện nay, phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụng thử đã có thể được download tại địa chỉ
http://snaps.php.net
Quá trình thông dịch trang php
Php là kịch bản trình chủ được chạy trên nền php Engine, cùng với ứng dụng Web Server để quản lý chúng
Khi trang php được gọi, Web Server triệu gọi php Engine để thông dịch, dịch trang php và trả về kết quả cho người sử dụng
là một trang thuần HTML
Trang 15Ta có mô hình như sau:
Hình 1.1: Quá trình thông dịch trong php
Ưu điểm của Php:
Có nhiều lý do khiến cho việc sử dụng ngôn ngữ này chiếm ưu thế xin nêu ra đây một số lý do cơ bản :
Mã nguồn mở (open source code)
Miễn phí, download dễ dàng từ Internet
Cú pháp:
Đầu tiên, một đoạn mã php luôn được bắt đầu và kết thúc bởi cặp thẻ theo cú pháp:
<?php
Trang 16các lệnh của php;
?>
Sau đó, ta cũng có thể nhúng các lệnh của php vào trang HTML
và đoạn mã php có thể đặt bất kỳ đâu trong tài liệu Thông thường một trang php bao gồm các thẻ HTML như một trang HTML nhưng có thêm các đoạn mã php
Ví dụ: Ta có đoạn mã php hiển thị câu “Hom nay em duoc hoc
cu phap mot doan ma php” lên trình duyệt như sau:
Php hỗ trợ 5 kiểu dữ liệu như sau:
Integer: sử dụng cho giá trị có kiểu dữ liệu là số nguyên Trên
hầu hết các hệ thống, kiểu số nguyên có kích thước 32 bit,
mang giá trị từ -2147483647 cho đến 2147483648
Ví dụ: <?php
$a = 1234;
$b = -123;
Trang 17$c = 0123; //giá trị 123 ở hệ cơ số 8, tương đương với 83
ở hệ cơ số 10
$d = 0x1F; //giá trị 1F ở hệ cơ số 16, tương đương với 31 ở hệ cơ số 10
?>
Double (còn gọi là Float): Sử dụng cho giá trị có kiểu dữ liệu
là số thực Trên hầu hết các hệ thống, kiểu số thực có kích
Trang 18String: Sử dụng cho các giá trị có kiểu dữ liệu là chuỗi và ký tự,
mỗi ký tự có kích thước là 1 byte Nội dung string được đặt giữa
2 dấu nháy, nháy đơn (') hoặc nháy kép (")
Ví dụ:
<?php
$a = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn';
$b = "Đây là 1 chuỗi được đặt giữa dấu nháy kép";
$c = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn với "vài dấu nháy kép ở giữa"';
$d = "Đây là 1 chuỗi được đặt giữa dấu nháy kép với 'vài dấu nháy đơn ở giữa'";
?>
Nếu bạn muốn sử dụng dấu nháy đơn ở trong 1 chuỗi được bọc bởi dấu nháy đơn, hoặc sử dụng dấu nháy kép đặt giữa chuỗi được bọc bởi dấu nháy kép thì bạn để thêm ký tự \ (gọi là ký tự escape) ở phía trước
Trang 19\r: ký tự về đầu dòng CR (ký tự có mã 13 trong bảng mã ASCII)
\t: ký tự tab (ký tự có mã 9 trong bảng mã ASCII)
\$: ký tự $
\ooo: (với o là 1 chữ số từ 0 đến 7) biểu thị 1 ký tự có mã ASCII ooo trong hệ cơ số 8
Ví dụ:
\101 sẽ là ký tự 'A' (101 trong hệ cơ số 8 tương đương 65 trong
hệ cơ số 10, ký tự ASCII có mã 65 chính là ký tự 'A')
\xhh: (với h là 1 chữ số từ 0 đến 9 hoặc 1 chữ cái từ A tời F) biểuthị 1 ký tự có mã ASCII hh trong hệ cơ số 16
Array: Sử dụng cho các giá trị có kiểu dữ liệu là mảng Mảng
còn có thể tạo được tạo thành bởi các cặp (khóa, giá trị)
Trang 20$b = Array( "a" => "Đinh", "b" => "Công", "c" => "Trực");
echo $b["a"]; //in ra: Đinh
Quy tắc viết tên biến trong PHP
Biến trong PHP bắt đầu bằng dấu $, theo sau là tên của biến.Tên của biến phải bắt đầu bằng chữ hoặc ký tự gạch dưới
Tên biến chỉ có thể là các ký tự chữ-số hoặc dấu gạch dưới(A-z, 0-9, _ )
Tên biến không được chứa khoảng trắng
Tên biến phân biệt chữ hoa và chữ thường (z and Z là 2 biến khác nhau)
Cách khai báo biến: PHP không có câu lệnh để thực hiện khai báo biến Một biến được khai báo khi bạn gán cho nó một giá trị
Ví dụ: $myMotor="AirBlade";
Sau khi thực thi khai báo trên, biến $myMotor nhận giá trị là AirBlade
Chú ý: Nếu muốn khai báo biến mà không gán giá trị nào cho
nó thì gán cho nó giá trị null
Bây giờ lấy ví dụ khai báo biến có chứa giá trị là chuỗi và biến
có giá trị là số:
<?php
$txt="Chào bạn";
Trang 21?>
Chú ý: Khi bạn gán một giá trị dạng text cho biến thì bạn phải
cho giá trị của biến vào trong ngoặc kép
Các phép toán:
Toán tử gán:
Chúng ta đã từng tiếp xúc với toán tử này bởi việc khởi tạo 1 biến Nó gồm ký tự đơn = Toán tử gán lấy giá trị của toán hạngbên phải gán nó vào toán hạng bên trái
Ví dụ: $name = "Xuân Cảnh";
Toán tử số học:
Là dạng phép tính giản đơn cộng, trừ, nhân, chia trong số học Ngoài ra còn có phép chia lấy dư (%) Được sử dụng để lấy ra đơn vị dư của 1 phép toán
Toán tử Giải thích Ví dụ Kết quả
Trang 22Phép
!= Không bằng Hai số hạng không bằng
=== Đồng nhất Hai số bằng nhau và cùng
kiểu
$a===10
> Lớn hơn Vế trái lớn hơn vế phải $a>10
Toán tử logic là các tổ hợp các giá trị boolean
Ví dụ: toán tử or trở về true nếu toán tử trái hoặc toán tử phải làtrue
True || false
Trang 23Ta có bảng các toán tử như sau:
&& And (và) $a && $b
5- Toán tử kết hợp: Khi tạo mã PHP, chúng ta sẽ thường nhận
thấy cần phải tăng hoặc giảm lượng biến một số nguyên nào
đó Bạn sẽ thường thực hiện điều này khi chúng ta đếm 1 giá trịnào đó trong vòng lặp
IV.TỔNG QUAN VỀ MYSQL:
1 Giới thiệu về MySQL:
SQL là chuẩn ngôn ngữ ANSI để truy cập CSDL SQL là viết tắt của Structured Query Language - Ngôn ngữ truy vấn cấu trúc
SQL là một chuẩn của ANSI
(American National Standards Institute - Viện tiêu chuẩn quốc gia Hoa kỳ) về truy xuất các hệ thống CSDL Các câu lệnh SQL được sử dụng để truy xuất và cập nhật dữ liệu trong một CSDL.2.Đặc điểm: