Tải bản đầy đủ (.docx) (26 trang)

Báo cáo Web PHP lavarel

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 (1.92 MB, 26 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH
KHOA: CƠNG NGHỆ THƠNG TIN
*o*o*o**o*o*o*

BÀI BÁO CÁO
ĐỀ TÀI:
Sinh viên thực hiện:
Phan Minh Quân

2051052110

Nguyễn Thành Nhân

2051050314

Nguyễn Hoàng Vũ

2051050576

Nguyễn Mạnh Phương

2051052105

Cao Tiến Hiếu

2051052038

Nhóm lớp

: IT2002



Mơn học

: An tồn hệ thống thông tin

Giảng viên hướng dẫn : Thầy Lưu Quang Phương

HỒ CHÍ MINH – Năm 2022


1


MỤC LỤCY

DANH MỤC HÌNH ẢNH............................................................................................4
LỜI MỞ ĐẦU..............................................................................................................5
PHẦN 1. MỞ ĐẦU......................................................................................................5
1. Lý do chọn đề tài...................................................................................................5
2. Mục đích nghiên cứu (các kết quả cần đạt được)...................................................5
3. Đối tượng và phạm vi nghiên cứu..........................................................................5
4. Phương pháp nghiên cứu.......................................................................................5
PHẦN 2. ĐỀ CƯƠNG CHI TIẾT..............................................................................6
CHƯƠNG 1. ĐẶT VẤN ĐỀ........................................................................................6
1. PHP Framework là gì?...........................................................................................6
2. Tại sao nên sử dụng Laravel Framework?.............................................................6
CHƯƠNG 2. GIỚI THIỆU VỀ LARAVEL............................................................7
1. Cấu trúc thư mục Laravel....................................................................................7
2. Cài đặt Laravel.....................................................................................................8
2.1. Cài composer.................................................................................................8

2.2. Cài đặt Laravel..............................................................................................8
3. Route trong Laravel Framework............................................................................9
4 View trong Laravel Framework........................................................................10
5 Controller trong Laravel Framework...............................................................10
5.1 Khai báo Controller trong Laravel Framework........................................10
5.2 Chạy Controller theo phương thức Route::get..........................................11
6 Kết nối cơ sở dữ liệu...........................................................................................11
6.1 Cấu hình kết nối cơ sở dữ liệu trong Laravel Framework.......................11
6.2 Database Transactions.................................................................................13
2


7 Sử dụng Migrations và Schema Builder................................................................14
CHƯƠNG 3: GIAO DIỆN – THIẾT KẾ CHỨC NĂNG WEBSITE.....................15
1. Đăng ký/ Đăng nhập............................................................................................15
2. Quản lý các danh mục trong admin......................................................................17
3. Load Slider..........................................................................................................21
4. Sản phẩm.............................................................................................................21
5. Đặt hàng...............................................................................................................24
6. Mail...................................................................................................................... 25
KẾT LUẬN................................................................................................................26

3


D
Hình 1. 1. Cấu trúc thư mục Laravel Framework........................................................8
YHình 2. 1. Cài đặt Composer.....................................................................................8
Hình 2. 2. Cài đặt laravel..............................................................................................9
YHình 3. 1. Kết nối cơ sở dữ liệu................................................................................12

YHình 4. 1. Đăng nhập admin.....................................................................................15
Hình 4. 2. Đăng nhập sai..............................................................................................16
Hình 4. 3. Đăng ký.......................................................................................................17
Hình 4. 4. Mã hóa mật khẩu.........................................................................................17
YHình 5. 1. Thêm danh mục........................................................................................18
Hình 5. 2. Danh sách danh mục...................................................................................18
Hình 5. 3. Danh sách sản phẩm....................................................................................19
Hình 5. 4. Thêm sản phẩm...........................................................................................19
Hình 5. 5. Danh sách slider..........................................................................................20
Hình 5. 6. Thêm slider.................................................................................................20
YHình 6. 1. Load slider...............................................................................................21
YHình 7. 1. Load sản phẩm.........................................................................................22
Hình 7. 2. Phân trang theo danh mục...........................................................................22
Hình 7. 3. Chi tiết sản phẩm........................................................................................23
Hình 7. 4. Thêm sản phẩm vào giỏ hàng......................................................................24
YHình 8. 1. Danh sách đơn hàng.................................................................................25
Hình 8. 2. Xử lý thơng tin đơn.....................................................................................25
YHình 9. 1. Nhận mail khi có đơn hàng......................................................................27

4


LỜI MỞ ĐẦU
PHẦN 1. MỞ ĐẦU
1. Lý do chọn đề tài
- Xã hội hiện đang trên đà phát triển vượt trội về mặt thương mại điện tử. Nhu cầu
mua bán online đang là xu hướng hàng đầu trong dịch vụ thương mại điện tử. Vì
những nhu cầu cấp thiết trên nên đã sinh ra hàng trăm, hàng nghìn thậm chí hàng triệu
website bán hàng để thỏa mãn nhu cầu mua – bán của người mua và người bán. Chính
vì điều đó nhóm chúng em quyết định xây dựng một website bán quần áo.

- Hiện nay có thể xem cơng nghệ xây dựng website bằng Laravel framework rất phổ
biến. Laravel framework dùng mã nguồn mở miễn phí, vì thế nên Laravel framework
có thể được cài đặt trên hầu hết các Web Server thông dụng hiện nay như Apache,
IIS… Dễ học khi đã biết HTML, C, OOP(Vì php được phát triển trên nền tảng C,
OOP), có nhiều Web Server có cấu hình đơn giản như XAMPP, WAMPP,… thư viện
phong phú(Joomla, wordpress…), có tính bảo mật, thích hợp cho làm việc nhóm. Tuy
nhiên ngồi những ưu điểm, bên cạnh đó Laravel framework cịn có nhược điểm là chỉ
chạy trên ứng dụng web, mã nguồn khơng đẹp và hiếm tool.
2. Mục đích nghiên cứu (các kết quả cần đạt được).
- Xây dựng website kinh doanh quần áo
 Giới thiệu và trình bày được các mặt hàng
 Nhanh chóng hiệu quả
 Đảm bảo chính xác, bảo mật cao, tiện lợi và dễ dàng sử dụng cho khách hàng
 Thuận tiện cho việc bán và mua hàng
3. Đối tượng và phạm vi nghiên cứu.
- Đối tượng nghiên cứu
 Laravel framework.
 Tìm hiểu và khảo sát quy trình bán hàng qua mạng để có cơ sở xây dựng một
trang web bán hàng
- Phạm vi nghiên cứu: Xây dựng một trang web bán lẻ, chuyên bán sản phẩm quần áo
trong lãnh thổ Việt Nam
4. Phương pháp nghiên cứu.
 Phương pháp thống kê, thu nhập thông tin, số liệu.
5


 Phương pháp phân tích và tổng hợp tài liệu để xây dựng một website.
 Quá trình tin học để xây dựng website thương mại điện tử.

PHẦN 2. ĐỀ CƯƠNG CHI TIẾT

CHƯƠNG 1. ĐẶT VẤN ĐỀ
1. PHP Framework là gì?
- PHP Framework là mộtbộ thư viện đã được tạo dựng sẵn, bao gồm rất nhiều chức
năng và các module để xây dựng project. Ngồi ra, PHP Framework cịn giúp việc
phát triển các project nhanh hơn, dễ dàng hơn. Đồng thời nó cịn làm hạn chế những
lỗi phát sinh cơ bản và làm tăng sự ổn định của các ứng dụng.
2. Tại sao nên sử dụng Laravel Framework?
-Laravel là một trong các PHP Framework phổ biến nhất trong giới Developer.
Tìm hiểu về Laravel cũng rất dễ dàng vì mỗi bản phát hành đều được hướng dẫn
đầy đủ với các tài liệu, tutorial và blog được cập nhật thường xuyên.
Laravel có nhiều tính năng tuyệt vời và sáng tạo để lập trình. Chẳng hạn, giao diện
command-line Artisan cung cấp một số lệnh hữu ích khi lập trình. Laravel cũng có
một cơng cụ tạo template mạnh mẽ, cho phép bạn làm các tác vụ phổ biến như
authentication, caching, sessions, RESTful routing…
Laravel cũng có một hệ sinh thái rất lớn với platform lưu trữ và deployment. Bất
cứ Developer nào dù chưa từng học qua PHP Framework cũng có thể học rất
nhanh Laravel.
Một số ưu điểm của Laravel bao gồm:
Sắp xếp file và code
Tốc độc cực nhanh
Mơ hình ORM rất đơn giản
Documentation rõ ràng
MVC architecture
Unit testing
Tuy nhiên, Laravel cũng có một số điểm trừ là nó khơng hoạt động trên những
shared hosting và cũng phải tốn nhiều query trên database.








6


CHƯƠNG 2. GIỚI THIỆU VỀ LARAVEL
1. Cấu trúc thư mục Laravel
Một laravel framework có cấu trúc như sau:

Hình 1. 1. Cấu trúc thư mục Laravel Framework
7


2. Cài đặt Laravel
2.1. Cài composer
- Có nhiều cách để cài đặt laravel, trong đó Composer là cơng cụ giúp cài đặt
Laravel một cách dễ dàng và nhanh chống. Tải composer tại địa chỉ:
/>- Khi tải về và khởi động composer ta sẽ được giao diện

Hình 2. 1. Cài đặt Composer
2.2. Cài đặt Laravel
- Bản Laravel mới nhất hiện tại là 10.x (tại thời điểm này). Thế nên chúng em
dùng PHP phiên bản 8.2.0 và laragon để sử dụng laravel.
-Để cài đặt laravel bằng composer thì chúng ta cần phải copy lệnh tải về dán vào
màn hình console của composer

8



Hình 2. 2. Cài đặt laravel
Với “example-app” là tên thư mục bạn muốn đặt bộ source code laravel
3. Route trong Laravel Framework.
- Định tuyến (route) trong Laravel có nghĩa là chỉ dẫn từ yêu cầu của người dùng sẽ
làm gì. Hoặc khi người truy cập vào trang đăng nhập rồi click nút đăng nhập thì nó sẽ
làm gì thì route sẽ điều hướng đúng những thứ cần thực hiện.
*o* Basic Routing
- Các định tuyến trong Laravel đều được viết trong routes/web.php. Cú pháp đơn giản
nhất của một định tuyến đó là:
Route::method(‘URI’,’Function call back’)
- Trong đó thì:
 URI là dạng link trên url.
 Function call back: Hàm sẽ gọi tới link URI phía trên được chạy, đây chính là
nơi có thể xử lý dữ liệu.
 Method là các dạng phương thức cơ bản: post, get, put, delete, any.
o POST Route: Các thao tác lấy từ form như thêm dữ liệu.
o GET Route: Dành cho thao tác truy cập thông thường tươngđương với
request cơ bản trong PHP. Ví dụ chạy 1 link trên url.
o PUT Route: Dành cho các thao tác lấy từ form nhưng là cập nhật dữ liệu.
o DELETE Route: Dành cho thao tác hành động xóa dữ liệu.
o ANY Route: là sự tổng hợp các thao tác ở trên
Trong đó thì 2 dạng POST và GET sẽ được sử dụng nhiều nhất.
Ví dụ:
Các bạn mở file Route/web.php và viết dòng code sau:
Route::get(‘/san-pham’, function(){
echo ‘Trang sản phẩm’;
})
Tiếp theo truy cập vào đường link url với đường dẫn localhost/shop/san-pham
(Trongđó thì shop chính là thư mục dự án). Khi các bạn chạy link này thì lập tức trong


9


Route sẽ kiểm tra và gọi đúng tới hàm callback. Sau khi chạy trang này các bạn sẽ
nhận được thông báo như ý muốn.
4 View trong Laravel Framework
- Như đã đề cập ở trên thì thư mục view dùng để chứa các file mẫu như html để
tương tác với người sử dụng nằm trong thư mục (Resources/Views).
- Để sử dụng view ta có thể sử dụng như sau:
return View::make("Tên",Đối số nếu có);
Ví dụ trong routes/web.php ta có đường dẫn sau:
Route::get("name",function(){
return View::make("hoten"); // gọi file view có tên là: routes/views/hoten.php
});
<!-- View stored in routes/views/hoten.php -->
<html>
<body>

Hello, <?php echo $name; ?>


</body>
</html>
Sau đó ta tạo file routes/views/hoten.php với nội dung là ”lập trình web ” . khi
chạy thử đường link http://localhost/shop /public/name thì ta sẽ thấy kết quả.
Vậy nếu ta muốn truyền đối số cho view thì sao. Bạn có nhiều cách để làm điều
đó.
5 Controller trong Laravel Framework
- Như các bạn được biết trong Laravel cho phép chúng ta có thể xử lý dữ liệu
ngay bên trong Route nhưng đối với những thao tác phức tạp và dài chúng ta lên xử
lý trong Controller.Có như vậy thì ứng dụng của bạn mới trở nên linh hoạt và dễ mở
rộng sau này.
5.1 Khai báo Controller trong Laravel Framework

– Để tạo 1 controller các bạn cần vào thư mục app/controller với các quy tắc
sau:
1. Tên file trùng với tên Class.
10


2. Kế thừa từ lớp Controller.
Ví dụ, tạo 1 file HocphpController.php với nội dung:
class HocphpController extends Controller {
public function test(){
echo 'Tim hieu ve Controller trong Laravel ';
}
}
5.2 Chạy Controller theo phương thức Route::get
- Trước tiên các bạn truy cập vào file routes.php thêm nội dung sau:
Route::get('/controller-test', 'HocphpController,’test’);
Với đoạn code cấu hình trên ta đã khai báo 1 link controller-test sẽ gọi tới
controller HocphpController và phương thức(action) là test.Như vậy khi các chạy
link localhost/shop /public/controller-test sẽ hiển thị nội dung như ý muốn:
6 Kết nối cơ sở dữ liệu
Laravel kết nối tới cơ sở dữ liệu và chạy truy vấn cực kỳ đơn giản. Cấu hình
nằm tại file app/config/database.php. Trong file này thì định nghĩa tất cả những loại
kết nối cơ sở dữ liệu, tất nhiên là chúng cũng có loại cơ sở kết nối mặc định. Những
ví dụ dưới đây được áp dụng cho tất cả những loại cơ sở dữ liệu mà được cung cấp
trong file này.Hiện tại thì Laravel hổ trợ những hệ thống cơ sở dữ liệu sau: MySQL,
Postgres, SQLite, và SQL Server.
6.1 Cấu hình kết nối cơ sở dữ liệu trong Laravel Framework
- Các bạn mở file .en và tìm tới dịng cấu hình:


11


Hình 3. 1. Kết nối cơ sở dữ liệu
Với đoạn cấu hình trên thì các bạn cần quan tâm cho mình 4 thơng số cấu
hình sau:
1. DB_HOST: Cấu hình host,các bạn giữ nguyên là localhost.
2. DB_DATABASE: Cấu hình tên cơ sở dữ liệu mà bạn đang sử dụng.
3.DB_USERNAME: Tài khoản có quyền truy cập vào cơ sở dữ liệu.
4. DB_PASSWORD: Mật khẩu của tài khoản ở trên.
- Thực hiện chạy câu lệnh truy vấn, sau khi đã kết nối vào hệ thống:
1. Chạy câu lệnh truy vẫn dữ liệu:
$results = DB::select('select * from users where id = ?', array(1));
Với phương thức select chúng ta sẽ lấy ra được dữ liệu trả về dạng mảng
2. Chạy câu lệnh thêm dữ liệu vào cơ sở dữ liệu:
12


DB::insert('insert into users (id, name) values (?, ?)', array(1, 'hocphp'));
3. Chạy câu lệnh cập dữ liệu:
DB::update('update users set name = "nobitacnt"where id = ?',
array('1'));
4. Chạy câu lệnh xóa dữ liệu:
DB::delete('delete from users');
Ghi chú: Câu lệnh insert và câu lệnh delete luôn trả về con số record bị ảnh
hưởng.
5. Câu lệnh xóa bảng:
DB::statement('drop table users');
6.2 Database Transactions
Để thao tác những câu lệnh bên trong transaction cơ sở dữ liệu, bạn có thể

dùng phương thức transaction:
DB::transaction(function()
{
DB::table('users')->update(array('id' => 1));
DB::table('posts')->delete();
});
Ghi chú: Bất kỳ câu lệnh nào cũng được đưa vào transaction, và transaction
cũng sẽ thực thi rollback một cách tự động.
1. Để bắt đầu 1 transaction ta thực hiện:
DB::beginTransaction();
2. Bạn cũng có thể rollback qua phương thức:
DB::rollback();
3. Cuối cùng thì bạn cần commit nó lên:
23 DB::commit();
- Khi mà bạn sử dụng nhiều hơn 1 cơ sở dữ liệu và muốn thực hiện truy vấn
thì các bạn có thể sử dụng phương thức:
DB::connection
Ví dụ mình có cấu hình như sau,với 2 cơ sở dữ liệu
//cơ sở dữ liệu 1,là chính
13


'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'laravel',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',

'prefix' => '',
),
//cơ sở dữ liệu 2
'mysql2' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'laravel2',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Và kết nối mặc định của chúng ta sẽ kết nối tới cơ sở dữ liệu mysql,còn trong
trường hợp muốn kết nối tới cơ sở dữ liệu 2 ta sử dụng:
$users = DB::connection('mysql2')->select('select * from user');
print_r($users);

7 Sử dụng Migrations và Schema Builder
* Schema Builder:
– Lớp Schema trong Laravel cung cấp cơ chế thao tác với bảng CSDL. Nó làm việc
với tất cả CSDL mà Laravel hổ trợ, và thông qua những hàm API của hệ thống bao
gồm các phương thức như:
14


+ Phương thức create – Tạo bảng dữ liệu
+ Phương thức rename – Đổi tên bảng dữ liệu
+ Phương thức drop – Xóa bảng dữ liệu
+ Sử dụng khóa ngoại

*o* Sử dụng Migrations:
– Migrations là một kiểu điều khiển database, nó cho phép một nhóm có thể làm việc
với CSDL một cách hiệu quả hơn. Migrations đi kèm với Schema Builder để thiết kế
hệ thống của bạn một cách dễ dàng.

CHƯƠNG 3: GIAO DIỆN – THIẾT KẾ CHỨC NĂNG WEBSITE
1. Đăng ký/ Đăng nhập
Form đăng nhập admin/user
- Mô tả: Khi đăng nhập sẽ gửi thông tin đăng nhập của user hoặc admin về cho hệ
thống. Controller của hệ thống là Login controller sẽ xác thực người dùng/admin nếu
đúng thì sẽ chuyển vào trang index/admin sai thì sẽ thơng báo nhập lại

Hình 4. 1. Đăng nhập admin
15


Khi nhập sai tài khoản hoặc mật khẩu sẽ hiện thơng báo và cho người dùng nhập lại.

Hình 4. 2. Đăng nhập sai
Đăng kí
- Mơ tả: khi đăng kí sẽ gửi thông tin đăng ký của user hoặc admin về cho hệ thống.
Controller của hệ thống là Registercontroller lưu thông tin của người dùng/admin và
mã hóa mật khẩu rồi lưu xuống để bảo mật cho người dùng/admin nếu lưu thành công
hệ thống sẽ báo thành công và ngược lại.

16


Hình 4. 3. Đăng ký
Mã hóa mật khẩu khi đăng kí

- Mơ tả: để ln đảm bảo tính an tồn bảo mật thơng tin người dùng thì chức năng này
cũng là một phần rất quan trọng, nó giúp “băm nhỏ” mật khẩu của bạn thành một
chuỗi kí tự và cơ sở dữ liệu lưu lại các kí tự mã hóa này thay vì lưu mật khẩu của
người dùng.

Hình 4. 4. Mã hóa mật khẩu
2. Quản lý các danh mục trong admin
- Mô tả: chức năng này cho phép admin xem danh mục và thêm/sửa/xoá các danh mục
sản phẩm
Thêm danh mục
17


Hình 5. 1. Thêm danh mục
Danh sách danh mục
- Mơ tả: chức năng này giúp admin đưa các danh mục quan trọng lên giao diện trang
chủ.

Hình 5. 2. Danh sách danh mục
Danh sách sản phẩm
18


- Mô tả: chức năng cho phép xem danh sách các sản phẩm hiện có và admin có thể
thêm mới sản phẩm hoặc sừa xóa các sản phẩm hiện có

Hình 5. 3. Danh sách sản phẩm
Thêm sản phẩm

Hình 5. 4. Thêm sản phẩm

Danh sách slider
19


- Mơ tả: chức năng này dùng có thể xem các slide hiện đang có và admin có thể thêm
mới slide hoặc sửa xóa các slide cũ

Hình 5. 5. Danh sách slider

Thêm slider

Hình 5. 6. Thêm slider
20



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×