Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
LỜI MỞ ĐẦU
Ngày nay Công nghệ thông tin đóng vai trò rất quan trọng đối với sự phát triển kinh tế -
xã hội của mỗi quốc gia, chiếm một vị trí quan trọng trong mọi lĩnh vực đời sống, trở
thành động lực cơ bản của sự phát triển kinh tế - xã hội, đưa thế giới chuyển từ kỷ
nguyên công nghiệp sang kỷ nguyên thông tin và phát triển kinh tế tri thức. Đối với bất
kỳ tổ chức nào, từ doanh nghiệp đến các tổ chức chính phủ giải quyết các bài toán nhằm
tối ưu hóa hoạt động nghiệp vụ, kinh doanh và quản lý của mình dựa trên cơ sở ứng dụng
công nghệ thông tin là yêu cầu quan trọng được đặt lên hàng đầu. Trong thời đại bùng nổ
công nghệ thông tin và xu hướng phát triển kinh tế mạnh mẽ như hiện nay, nhu cầu thiết
kế và quản trị Website cho cá nhân hoặc các tổ chức, cơ quan, đã và đang trở thành nhu
cầu cấp bách. Chính vì vậy thiết kế và quản trị Website ngày càng được rất nhiều người
yêu thích và chọn làm hướng đi riêng cho mình.
Với những kiến thức được học về thiết kế website, trong lần thực tập tốt nghiệp này em
đã chọn đề tài "Xây dựng website cho công ty TNHH PHÚC TẤN ".
Trong quá trình thực hiện đề tài do chưa có kinh nghiệm nhiều lên em vẫn mắc phải
những sai sót nhỏ mong nhận được sự góp ý của các thầy cô và các bạn để đề tài hoàn
thiện hơn.
Cuối cùng em xin chân thành cảm ơn thầy giáo Nguyễn Văn Huynh người đã trực tiếp
hướng dẫn và tận tình giúp đỡ em trong quá trình thực hiện đề tài này.
Sinh viên thực hiện
NGÔ CÔNG VIỆT
1
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
LỜI CẢM ƠN
Sau quá trình học tập và nghiên cứu môn thiết kế Web em đã không ngừng được mở
mang kiến thức và tầm hiểu biết về lĩnh vực Công nghệ Thông tin qua sự dạy dỗ, đào tạo
tận tình của thầy Nguyễn Văn Huynh và sự học hỏi lẫn nhau giữa bạn bè cùng khóa.
Thông qua bản Báo Cáo này, em xin được gửi lời chân thành cảm ơn đến Ban
Giám Hiệu Trường và trên hết là Giáo viên Khoa CNTT nhà trường đã tạo những điều
kiện tốt nhất cho em trong suốt thời gian học tập và sinh hoạt tại trường; xin chân thành
4
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1. THƯƠNG MẠI ĐIỆN TỬ
1.1.1. Khái niệm
Thương mại điện tử (còn gọi là thị trường điện tử, thị trường ảo, E-Commerce hay E-
Business) là quy trình mua bán thông qua việc truyền dữ liệu giữa các máy tính trong
chính sách phân phối của tiếp thị. Tại đây một mối quan hệ thương mại hay dịch vụ trực
tiếp giữa người cung cấp và khách hàng được tiến hành thông qua Internet. Hiểu theo
nghĩa rộng, thương mại điện tử gồm tất cả các loại giao dịch thương mại mà trong đó các
đối tác giao dịch sử dụng các kỹ thuật thông tin trong khuôn khổ chào mời, thỏa thuận
hay cung cấp dịch vụ.
1.1.2. Đặc trưng của Thương mại điện tử
So với thương mại truyền thống, Thương mại điện tử có một số điểm khác biệt sau:
- Các bên tiến hành giao dịch trong Thương mại điện tử không tiếp xúc trực tiếp với nhau
và không đòi hỏi phải biết nhau từ trước.
- Các giao dịch thương mại truyền thống được thực hiện với sự tồn tại của khái niệm biến
giới quốc gia, còn Thương mại điện tử được thực hiện trong một thị trường không có biên
giới (thị trường thống nhất toàn cầu). Thương mại điện tử trực tiếp tác động tới môi
trường cạnh tranh toàn cầu.
- Trong hoạt động giao dịch Thương mại điện tử đều có sự tham gia của ít nhất ba chủ
thể. Trong đó có một bên không thể thiếu được đó là nhà cung cấp dịch vụ mạng, các cơ
quan chứng thực.
- Đối với thương mại truyền thống thì mạng lưới thông tin chỉ là phương tiện để trao đổi dữ
liệu, còn đối với Thương mại điện tử thì mạng lưới thông tin chính là thị trường.
1.1.3. Lợi ích của thương mại điện tử (TMĐT)
1
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
- TMĐT giúp cho các doanh nghiệp nắm được thông tin phong phú về thị trường và đối
tác.
vẫn hoàn toàn được thực hiện trên website
1.1.5.2. Thanh toán online
Mục tiêu của thanh toán online là khắc phục yếu điểm của hình thức thanh toán off-line:
người dùng chỉ cần đồng ý mua hay không mua thì quá trình chuyển tiền sang
nhà cung cấp được tiến hành hoàn toàn tự động. Thực hiện được quá trình này có nghĩa
là loại bỏ cảm giác ngại ngần trong mua sắm, thúc đẩy xã hội tiêu dùng. Để thực hiện
được điều đó thì cần có thêm những bên tham gia khác.
Trong thanh toán B2C qua mạng, đại đa số người mua dùng thẻ tín dụng để thanh toán.
Thẻ tín dụng là loại thẻ Visa, MasterCard có tính quốc tế, chủ thẻ có thể dùng được trên
toàn cầu .
Ở Việt Nam, cá nhân hay tổ chức có thể đăng ký làm thẻ tín dụng với các ngân hàng như
ACB, Vietcombank Trên thẻ có các thông số sau: hình chủ sở hữu thẻ, họ và tên chủ sở
hữu thẻ, số thẻ (Visa Electron và MasterCard đều có 16 chữ số), thời hạn của thẻ, mặt sau
thẻ có dòng số an toàn (security code) tối thiểu là ba chữ số, và một số thông số khác
cùng với các chip điện tử hoặc vạch từ (magnetic stripe).
a. Các vai trò tham gia
Khách hàng
Doanh nghiệp
nhà cung cấp dịch vụ xử lý thanh toán qua mạng (DVTT)
Ngân hàng tại Việt Nam
Sơ đồ tương tác khi Doanh nghiệp bán hàng mua dịch vụ thanh toán qua mạng của nhà
cung cấp thứ 3
3
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
Hình 1.6: Sơ đồ tương tác khi Doanh nghiệp bán hàng mua dịch vụ thanh toán qua mạng
của nhà cung cấp thứ 3
b. Điều kiện tiên quyết để có thể tham gia thanh toán trực tuyến
Đối với Doanh nghiệp bán hàng
- Đăng ký tài khoản tại nhà cung cấp dịch vụ xử lý thanh toán qua mạng
- Đăng ký một tài khoản ngân hàng tại một ngân hàng tại Việt Nam. Tài khoản này dùng
Trên thị trường tồn tại nhiều phần mền Websever khác nhau như : Warm Xampp
Apachetriad, IIS…, mỗi loại đều có những ưu nhược điểm riêng điển hình là sản phẩm
thương mại của do Microsoft phát triển, nó rất thích hợp với các chương trình dịch của
Microsoft hơn còn với các trình biên dịch khác thì ít hỗ trợ hơn . Apperv Web server do
công ty Apache phát triển được cung cấp miễn phí và hỗ trợ nhiều chương trình chạy trên
nhiều môi trường như Microsoft, Linux, Unix . Apache là Web server phổ biến nhất hiện
này, chiếm khoảng 60% thị trường máy chủ Web trên thế giới chứng tỏ sự mạnh mẽ và
đáng tin cậy của nó.
Sau khi cài đặt cần phải sửa File cấu hình của Apache (mặc định là C:\Appserv\), tìm
kiếm dòng chứa lệnh www, thay tham số bằng thư mục sẽ chứa bằng các trang web của
mình. Sau đó khởi động lại Appserv là được.
1.2.2. Giới thiệu PHP
Cùng với Apache ,PHP và MySQL đã trở thành chuẩn trên các máy chủ Web .Rất
nhiều phần mền Web mạnh sử dụng PHP và MySQL (PHP Nuke Vbuletin, Joomla,
Wordpress, Drupal…)
PHP là ngôn ngữ có cú pháp gần giống Perl nhưng tốc độ dịch của nó được các chuyên
gia đánh giá nhanh hơn ASP 5 lần, chạy trên nhiều hệ điều hành khác nhau và có thể kết
hợp hoàn hảo với MySQL ngoài ra nó còn được Apache hỗ trợ như là một modul cơ bản.
1.2.2.1 PHP là gì
PHP ra đời khoảng năm 1994, do một người phát minh mang tên Rasmus Lerdorf và
được nhiều người phát triển cho đến ngày hôm nay. PHP được sử dụng khá nhiều trong
các ứng dụng Web về thương mại điện tử, tính đến năm 2001 có khoảng 5 triệu tên miền
sử dụng mã nguồn PHP.
5
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
PHP là một phiên bản mã nguồn mở, điều đó cho phép bạn có thể làm việc trên mã
nguồn, thêm, chỉnh sửa, sử dụng hay phân phối chúng.
1.2.2.2. Sử dụng PHP
Để có thể biên dịch các mã lệnh PHP thì khi bạn đưa mã nguồn lên Webserver bạn cần
phải cấu hình PHP trên Server có cài IIS (Internet Information Server). Tuy nhiên đa số
đích cũng quản lý và thao tác cơ sở dữ liệu.
1.2.3.1 Các kiểu dữ liệu trong MySQL
Trước khi thiết kế cơ sở dữ liệu trên MySQL, bạn cần phải tham khảo một số kiểu dữ liệu
thường dùng, chúng bao gồm các nhóm như: numeric, date and time và string.
Đều cần lưu ý trong khi thiết kế cơ sở dữ liệu, bạn cần phải xem xét kiểu dữ liệu cho môt
cột trong Table sao cho phù hợp với dữ liệu của thế giới thực.
Điều này có nghĩa là khi chọn dữ liệu cho cột trong Table, bạn phải xem xét đến loại dữ
liệu cần lưu trữ thuộc nhóm kiểu dữ liệu nào, chiều dài cũng như các ràng buộc khác,
nhằm khai báo cho phù hợp.
1.2.3.2. Loại dữ liệu numeric
Kiểu dữ liệu numeric bao gồm kiểu số nguyên trình bày trong bảng dưới đây:
Type Range Bytes Legerd
tinyint -127->128 hay 0 255 1 Số nguyên rất nhỏ
smallint -32768 ->32767 hay 0 65535 2 Số nguyên rất nhỏ
mediumint -8388608 -> 838860 hay
0 16777215
3 Số nguyên vừa
int -231->231-1 hay 0 232-1 4 Số nguyên.
bigint -263->263-1 hay 0 264-1 8 Số nguyên lớn
7
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
Và kiểu số chấm động, trong trường hợp dữ liệu kiểu dấu chấm động bạn cần phải
chỉ rõ bao nhiều số sau đấu phần lẻ như trong bảng:
Type Range Bytes Legerd
Float Phụ thuộc số thập phân Số thập phân
dạng Single
hay double
Float(M,D) ±1.175494351E-38
±3.40282346638
Year trình bày dưới dạng 2 số
hoặc 4 số.
1.2.3.4. Kiểu dữ liệu String
Kiểu dữ liệu String chia làm ba loại:
Loại thứ nhất như char (chiều dài cố định) và varchar (chiều dài biến thiên). Char cho
phép bạn nhập liệu dưới dạng chuỗi với chiếu dài lớn nhất bằng chiều dài bạn đã định
nghĩa, nhưng khi truy cập dữ liệu trên Field có khai báo dạng này, bạn cần phải xử lý
khoảng trắng. Điều này có nghĩa là nếu khai báo chiều dài là 10, nhưng bạn chỉ nhập
chuỗi 4 ký tự, MySQL lưu trữ trong bộ nhớ chiều dài 10.
Ngược lại với kiểu dữ liệu Char là Varchar, chiều dài lớn hất người dùng có thể nhập vào
bằng chiều dài bạn đã định nghĩa cho Field này, bộ nhớ chỉ lưu trữ chiều dài đúng với
chiều dài của chuỗi bạn đã nhập.
Như vậy, có nghĩa là nếu bạn khai báo kiểu varchar 10 ký tự, nhưng bạn hcỉ nhập 5 ký tự,
MySQL chỉ lưu trữ chiều dài 5 ký tự, ngoài ra, khi bạn truy cập đến Field có kiểu dữ liệu
này, bạn không cần phải giải quyết khoảng trắng.
Loại thứ hai là Text hay Blob, Text cho phép lưu chuỗi rất lớn, Blob cho phép lưu đối
tượng nhị phân. Loại thứ 3 là Enum và Set. Bạn có thể tham khảo cả ba loại trên trong
bảng sau:
Type Range Legerd
Char 1-255 characters Chiều dài của chuỗi lớn nhất
255 ký tự.
Varchar 1-255 characters Chiều dài của chuỗi lớn nhất
255 ký tự (characters).
Tinyblob Khai báo cho Field chứa kiểu
đối tượng nhị phân cở 255
9
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
characters.
Tinytext Khai báo cho Field chứa kiểu
chuỗi cở 255 characters.
Hàm MAX: Hàm trả về giá trị lớn nhất của cột hay trường trong câu truy vấn, ví dụ như
các phát biểu sau:
Select Max(Amount)
From tblOrders
Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn trên bảng, ví dụ như các
phát biểu sau:
Select count(*)
From tblOrders
Select count(CustID)
From tblOrders
Select count(*)
From tblOrderDetails
11
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
Hàm Sum: Hàm trả về tổng các giá trị của trường, cột trong câu truy vấn, ví dụ như các
phát biểu sau:
Select sum(Amount)
From tblOrders
Chẳng hạn, bạn có thể tham khảo diễn giải toàn bộ các hàm dùng trong mệnh đề GROUP
BY.
Select CustID,
Count (CustID),Sum(Amount),
Max(Amount),
Min(Amount),
Avg(Amount)
From tblOrders
Group by CustID
Order by CustID
b. Các hàm xử lý chuỗi
Hàm ASCII: Hàm trả về giá trị mã ASCII của ký tự bên trái của chuỗi, ví dụ như khai
Select Right(‘Le Ngoc Tuyen',5)
Kết quả trả về như sau: ‘Tuyen’
Hàm Instr: Hàm trả về vị trí chuỗi bắt đầu của chuỗi con trong chuỗi xét:
Select INSTR ('Tuyen','Le Ngoc Tuyen')
Kết quả trả về như sau: 9
9 là tương đương vị trí thứ 9 của chữ ‘Tuyen’ trong chuỗi "Le Ngoc Tuyen"
c. Các hàm về xử lý thời gian
Hàm CurDate(): Hàm trả về ngày, tháng và năm hiện hành của hệ thống:
14
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
Select curdate() as 'Today is’
Kết quả trả về như sau:
Today is
2001-11-21
Hàm CurTime(): Hàm trả về giờ, phút và giây hiện hành của hệ thống:
Select curtime() as 'Time is’
Kết quả trả về như sau:
Time is
09:12:05
Hàm Period_Diff: Hàm trả về số ngày trong khoảng thời gian giữa 2 ngày:
Select
Period_diff (OrderDate, getdate())
as 'So ngay giua ngay thu tien đen hom nay:'
from tblOrders
Kết quả trả về như sau
So ngay giua ngay thu tien đen hom nay:
15
Trong đó:
Host: chuỗi chứa tên (hoặc địa chỉ IP) của máy chủ cài đặt MySQL.
Tên_truy_cập: chuỗi chứa tên truy cập hợp lệ của CSDL cần kết nối.
Mật_khẩu: chuỗi chứa mật khẩu tương ứng với tên truy cập.
Ví dụ:
<?
mysql_connect ("localhost", "root","123456");
?>
Khi kết nối tới MySQL thành công, hàm sẽ trả về giá trị là một số nguyên định danh của
liên kết, ngược lại, hàm trả về giá trị false.
Ta có thể dùng hàm if để kiểm tra xem có kết nối được tới MySQL hay không:
17
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
<?php
$link=mysql_connect("localhost","mysql_user","mysql_password");
if (!$link)
{
echo "Không thể kết nối được tới CSDL MySQL";
}
?>
Lựa chọn CSDL:
Để lựa chọn một CSDL nào đó mà người sử dụng có tên là “tên_truy_cập" có quyền sử
dụng, ta dùng hàm mysql_select_db:
mysql_select_db (tên_CSDL);
Hàm này thường được dùng sau khi thiết lập kết nối bằng hàm mysql_connect. Hàm này
trả về true nếu thành công, false nếu thất bại.
<?php
$link = mysql_connect("localhost","mysql_user","mysql_password");
if (!$link)
{
User_Pass: Varchar[64] //mật khẩu của người dùng
User_IP: Varchar [15] //Địa chỉ IP của người dùng.
User_Post: Number // Số bài viết của người dùng.
Bây giờ ta sẽ tiến hành một số thao tác thêm, sửa và xóa dữ liệu trên bảng đó. Để thực thi
một câu lệnh SQL bất kỳ trong PHP tác động lên MySQL, ta dùng hàm:
mysql_query (chuỗi_câu_lệnh_SQL).
Thêm một bản ghi vào bảng:
19
Trường Cao đẳng Công nghiệp Phúc Yên Báo cáo thực tập tốt nghiệp
Ví dụ ta chèn thêm một người sử dụng có User_Name là "CMXQ", User_Pass là
"123456", User_Post=0 ta làm như sau:
<?
$sql = "INSERT INTO CMXQ_Users (User_Name, User_Pass)
VALUES ("CMXQ","123456",0);
mysql_query ($sql);
?>
Xóa một bản ghi khỏi bảng:
Trong trường hợp này, ta sử dụng câu lệnh SQL DELETE FROM. Ví dụ muốn xóa khỏi
bảng CMXQ_Users tất cả những người có User_Name="CMXQ":
<?
$sql = "DELETE FROM CMXQ_Users WHERE User_Name='CMXQ'";
mysql_query ($sql);
?>
Sửa thông tin của bản ghi trong bảng:
Ta sử dụng cú pháp UPDATE, chẳng hạn muốn cập nhật địa chỉ IP cho người có
User_Name="CMXQ" với địa chỉ IP được lấy từ trình duyệt:
<?
$sql = "UPDATE CMXQ_Users
SET User_IP ='" . $_SERVER['REMOTE_ADDR'] . "'
Where User_Name='CMXQ'";