Trong hướng dẫn này, chúng tôi sử dụng echo
hoặc print
trong hầu hết mọi ví dụ. Vì vậy, chương này chứa thêm một chút thông tin về hai câu lệnh đầu ra đó
Câu lệnh echo và print PHP
echo
và print
ít nhiều giống nhau. Cả hai đều được sử dụng để xuất dữ liệu ra màn hình
Sự khác biệt là nhỏ. echo
không có giá trị trả về trong khi print
có giá trị trả về là 1 nên có thể sử dụng nó trong các biểu thức. echo
có thể nhận nhiều tham số [mặc dù việc sử dụng như vậy rất hiếm] trong khi print
có thể nhận một tham số. echo
nhanh hơn một chút so với print
Tuyên bố tiếng vang PHP
Câu lệnh echo
có thể được sử dụng có hoặc không có dấu ngoặc đơn. echo
hoặc print
4
Hiển thị văn bản
Ví dụ sau đây cho thấy cách xuất văn bản bằng lệnh print
[chú ý rằng văn bản có thể chứa đánh dấu HTML]
Thông qua các biểu mẫu HTML, nhiều dữ liệu khác nhau có thể được thu thập từ người dùng và có thể được gửi trực tiếp đến máy chủ thông qua tập lệnh PHP. Về cơ bản, có hai phương thức để gửi dữ liệu đến máy chủ, một là “GET” và một là “POST”
Trong phương thức GET, dữ liệu đi qua URL của trình duyệt và bất kỳ ai sử dụng trình duyệt đều có thể nhìn thấy và không an toàn lắm khi gửi dữ liệu quan trọng hoặc có tính bảo mật cao. Nhưng với phương thức POST, dữ liệu được gửi trực tiếp đến máy chủ và không ai có thể nhìn thấy nó và đây được coi là cách an toàn nhất để gửi thông tin đến máy chủ.
Nói chung, phương thức GET được sử dụng bởi các công cụ tìm kiếm vì nó đọc dữ liệu nhưng để dữ liệu được duy trì hoặc thay đổi, phương thức POST được sử dụng cho nó
Tiếp cận. Chúng ta sẽ xem một ví dụ về biểu mẫu HTML thu thập họ và tên của người đó và gửi dữ liệu đến DOM, nơi cuối cùng sẽ hiển thị dữ liệu trên màn hình bằng cách sử dụng tập lệnh PHP.
Ví dụ
HTML
8
html
3>
0>
AUTO_INCREMENT
6 AUTO_INCREMENT
7AUTO_INCREMENT
8TABLE
2TABLE
00TABLE
2TABLE
02TABLE
2TABLE
04TABLE
05
NOT
3
TABLE
07
TABLE
08 TABLE
09TABLE
10NULL
8TABLE
12TABLE
13
NOT
3
TABLE
16
TABLE
18
TABLE
20
TABLE
22
69_______5 TABLE
25_______59_______6TABLE
2TABLE
10NULL
8TABLE
30TABLE
31
69_______9 TABLE
25_______59_______6TABLE
2TABLE
10NULL
8TABLE
39TABLE
31
62_______42 TABLE
25AUTO_INCREMENT
6_______62_______2TABLE
10NULL
8TABLE
48TABLE
31
62_______51 TABLE
25AUTO_INCREMENT
6_______62_______2TABLE
10NULL
8TABLE
57TABLE
31
NOT
3
TABLE
61
TABLE
63
62_______08 TABLE
66TABLE
67_______62_______66NOT
5TABLE
70TABLE
71TABLE
66NULL
3TABLE
2TABLE
75TABLE
76
62_______08 TABLE
66TABLE
67_______62_______66NOT
9TABLE
70TABLE
71TABLE
66NULL
3TABLE
2TABLE
88TABLE
76
62_______08 TABLE
66TABLE
67_______62_______66TABLE
42TABLE
70TABLE
71TABLE
66NULL
3TABLE
2`users` [
01TABLE
76
NOT
3
TABLE
08 TABLE
66TABLE
42 `users` [
08TABLE
51`users` [
10
`id`
6_______62_______71TABLE
66NULL
3TABLE
2`users` [
16TABLE
05
`id`
6_______164_______19
`users` [
21
NOT
3
`users` [
24
62_______08 TABLE
66`users` [
28TABLE
66NULL
3`users` [
31
`id`
6
`id`
6_______164_______34
`id`
6_______164_______36 `users` [
37TABLE
42TABLE
05
`id`
6
`id`
6_______164_______42
`id`
6_______164_______44 `users` [
45
`users` [
46_______164_______47`users` [
48_______62_______2`users` [
50TABLE
2`users` [
52`users` [
53
`id`
6
`id`
6_______164_______56AUTO_INCREMENT
6TABLE
2`users` [
44TABLE
05
NOT
3
`id`
6_______164_______63
`id`
6_______164_______65
`id`
6_______74_______7NULL
8TABLE
30AUTO_INCREMENT
0NOT
5NOT
8
`id`
6
`id`
6_______164_______75
`id`
6_______74_______7NULL
8NULL
9AUTO_INCREMENT
0`users` [
81NOT
8
`id`
6
`id`
6_______164_______85
`id`
6_______164_______87
`id`
6_______164_______89`users` [
90TABLE
05
`users` [
21
`users` [
21
NOT
3
`users` [
96
TABLE
08 TABLE
09TABLE
10NULL
8
01TABLE
13
05
69_______5 TABLE
25_______59_______6TABLE
2TABLE
10NULL
8TABLE
30TABLE
31
164_______36 TABLE
25AUTO_INCREMENT
6TABLE
2TABLE
10NULL
8
22TABLE
31
NOT
3
26
62_______08 TABLE
66TABLE
67_______62_______66NOT
5TABLE
70
`id`
6_______62_______71TABLE
66NULL
3TABLE
2TABLE
75TABLE
05
`users` [
21
62_______08 TABLE
66TABLE
67TABLE
66`users` [
36TABLE
70
`id`
6_______62_______71TABLE
66NULL
3TABLE
2`users` [
01TABLE
05
`users` [
21
NOT
3
61
62_______08 TABLE
66`users` [
28TABLE
66NULL
3`users` [
31
`id`
6
`id`
6______22_______71
`id`
6_______164_______36 `users` [
37`users` [
36TABLE
05
`id`
6
`id`
6_______164_______44
80
81_______164_______48
83`users` [
52
85
`id`
6_______22_______87
88_______59_______6TABLE
2`users` [
44TABLE
05
NOT
3
`id`
6______22_______95
`id`
6______22_______97
`id`
6_______62_______08 `id`
00
87`id`
02
`id`
03
`id`
03`id`
05
`id`
03NULL
7NULL
8TABLE
30AUTO_INCREMENT
0NOT
5NOT
8
`id`
03
`id`
03`users` [
75
`id`
03NULL
7NULL
8NULL
9AUTO_INCREMENT
0`id`
21NOT
8
`id`
03
`id`
03`id`
25
`id`
03`id`
27
`id`
03____164_______89`users` [
90TABLE
05
`id`
6_______164_______21
`id`
6_______174_______35 `id`
36
`id`
03
`id`
03`id`
39
`id`
03TABLE
71TABLE
66NULL
3TABLE
2`id`
45TABLE
05
`id`
6_______164_______21
`users` [
21
`users` [
21
NOT
3
`id`
53
Giải trình. Phiên được bắt đầu bằng phương thức session_start[]. Sau đó, các biến được khai báo và một mảng lỗi được tạo. Nó sẽ lưu trữ tất cả các thông báo lỗi. máy chủ. trang php sau đó được kết nối với cơ sở dữ liệu 'đăng ký' được tạo trước đó. Sau khi người dùng nhấp vào nút 'đăng ký' trên sổ đăng ký. php, dữ liệu đã nhập được gửi đến cơ sở dữ liệu và điều này hoàn tất đăng ký mới. Tuy nhiên, xác thực biểu mẫu được thực hiện trước đó để đảm bảo rằng người dùng điền vào biểu mẫu chính xác. Tất cả các trường là bắt buộc và không được để trống
Dòng 18 – 21. mysqli_real_escape_string thoát các ký tự đặc biệt trước khi gửi dữ liệu tới cơ sở dữ liệu. Điều này rất cần thiết để bảo mật cơ sở dữ liệu khỏi các lần tiêm SQL
Dòng 25 – 27. Những dòng này đảm bảo rằng người dùng đang điền vào tất cả các ô nhập liệu và liệu 'mật khẩu' và 'xác nhận mật khẩu' có khớp hay không. Nếu cả hai mật khẩu đều khớp, thì mã sẽ tiếp tục chạy
Dòng 29 – 32. Kiểm tra xem mật khẩu có khớp hay không.
Dòng 35 – 46. Nếu số lượng lỗi cho đến thời điểm này bằng 0, thì mật khẩu sẽ được mã hóa 'md5' và dữ liệu đã nhập được gửi đến cơ sở dữ liệu. Sau khi quá trình đăng ký hoàn tất, tên người dùng được lưu trữ trong biến phiên và người dùng được chuyển hướng đến chỉ mục. trang php, nơi anh ta được yêu cầu nhập thông tin đăng nhập
Dòng 50 – 80. Đầu tiên tên người dùng và mật khẩu được nhập trong vệ sinh. Điều này là cần thiết để tăng cường bảo mật cơ sở dữ liệu, vì nó loại bỏ khả năng bị tiêm SQL. Người dùng nhận được thông báo lỗi nếu trường tên người dùng hoặc mật khẩu bị bỏ trống.
Nếu số lượng lỗi cho đến điểm mã này được tìm thấy là 0, thì kiểm tra cơ sở dữ liệu sẽ được chạy. Nếu tên người dùng được nhập bởi người dùng được tìm thấy trong cơ sở dữ liệu, thì người dùng đăng nhập thành công. Người dùng sau đó được chuyển hướng đến 'chỉ mục. trang php
đăng nhập. php
html
6_______22_______7 `id`
56
`id`
57
`id`
0____174_______59`id`
5
`id`
0`id`
62`id`
5
`id`
0_______174_______66`id`
5
`id`
6_______174_______69
`id`
6______174_______71
[11]
3_______174_______66`id`
5
`id`
0_______174_______79 `id`
80______174_______3`id`
82 `id`
83`id`
3`id`
85
`id`
03`id`
87`id`
3`id`
89`id`
5
[11]
3____174_______62`id`
5
`id`
0`id`
95`id`
5
`id`
0_______174_______1 `id`
2`id`
3int
02`id`
5
`id`
6_______174_______0int
06int
07int
06`id`
5
[11]
3_______174_______1`id`
5
int
14
`id`
0_______465_______17 int
18_______174_______3int
20 int
21`id`
3int
23`id`
5
NOT
3
`id`
6_______22_______6
7 int
29
NOT
3
`id`
6_______174_______0`id`
1 `id`
2`id`
3int
36`id`
5
`id`
03`id`
0int
40int
41int
40`id`
5
`id`
03`id`
0int
46 `id`
83`id`
3int
49 int
50`id`
3int
52 `id`
5
`id`
6_______436_______3`id`
1`id`
5
`id`
6_______174_______0`id`
1 `id`
2`id`
3int
36`id`
5
`id`
03`id`
0int
40int
68int
40`id`
5
`id`
03`id`
0int
46 `id`
83`id`
3int
76 int
50`id`
3int
76`id`
5
`id`
6_______436_______3`id`
1`id`
5
`id`
6_______174_______0`id`
1 `id`
2`id`
3int
36`id`
5
`id`
03`id`
0int
94 `id`
83`id`
3int
97 `id`
2`id`
3[11]
00
[11]
01_______465_______50`id`
3[11]
04`id`
5
81____436_______07
`id`
03____436_______3int
94`id`
5
`id`
6_______436_______3`id`
1`id`
5
`id`
6
`id`
0____465_______2`id`
5
`id`
03____436_______21
`id`
03`id`
0[11]
24 `id`
87`id`
3[11]
27`id`
5
81____436_______30
`id`
03____436_______3[11]
24`id`
5
`id`
6_______436_______3____465_______2`id`
5
[11]
3_______465_______17`id`
5
[11]
3____174_______95`id`
5
[11]
3____174_______59`id`
5
Giải trình. Trang đăng nhập của hệ thống. Người dùng phải nhập tên người dùng và mật khẩu để đăng nhập thành công. Sau khi nhấn nút đăng nhập, mã đăng nhập được ghi trong máy chủ. trang php được chạy, tất cả công việc phụ trợ đều hoạt động, như kiểm tra xem tên người dùng và mật khẩu có khớp hay không
đăng ký. php
php
[11]
9_______436_______50TABLE
66[11]
52[11]
53
`id`
57
[11]
55
[11]
56
[11]
58
`id`
6_______436_______60[11]
61 [11]
62
[11]
64
[11]
66_______174_______82 [11]
68`id`
85
[11]
70_______436_______71____174_______89`id`
5
[11]
74
[11]
75
436_______77_______174_______2_______174_______3int
02`id`
5
`id`
6______436_______83
[11]
85
int
14
[11]
88_______465_______20 [11]
90[11]
27`id`
5
NOT
3
`id`
6_______436_______9[11]
50TABLE
66[11]
98[11]
99
NOT
3
`id`
6_______436_______77____174_______2`id`
3int
36`id`
5
`id`
03NOT
08
`id`
03NOT
10int
49 NOT
12int
52
81____69_______15NOT
16`id`
5
`id`
6______436_______85
`id`
6_______436_______77____174_______2`id`
3int
36`id`
5
`id`
03____69_______27
`id`
03NOT
10NOT
30 NOT
12NOT
30
81____69_______15NOT
35`id`
5
`id`
6______436_______85
`id`
6_______436_______77____174_______2`id`
3int
36`id`
5
`id`
03____69_______46
`id`
03NOT
10____465_______76 NOT
12NOT
51`id`
5
`id`
6______436_______85
`id`
6_______436_______77____174_______2`id`
3int
36`id`
5
`id`
03NOT
62
`id`
03NOT
10int
76 NOT
12NOT
67`id`
5
`id`
6______436_______85
`id`
6_______436_______77____174_______2`id`
3int
36`id`
5
`id`
03NOT
78int
97 `id`
2`id`
3[11]
00
NOT
83____69_______12NOT
85`id`
5
81_______69_______88
`id`
03____69_______90
`id`
6______436_______85
`id`
6
NOT
94
`id`
03____69_______96
`id`
03NOT
98int
23`id`
5
81____74_______02
`id`
03NULL
04
`id`
6______74_______06
NULL
08
NULL
09
NULL
10
Giải trình. Trang này chứa mã HTML của trang đăng ký. 'máy chủ. php' và 'lỗi. php’ được bao gồm trong các dòng 01 và 15 tương ứng. Điều này là cần thiết để làm cho phần phụ trợ của hệ thống đăng ký hoạt động. Người dùng được yêu cầu nhập tên người dùng, email và mật khẩu để tạo tài khoản. Sau khi các trường đầu vào được điền, dữ liệu đã nhập được gửi đến bảng cơ sở dữ liệu
mục lục. php
html
6_______22_______7
NULL
13
NULL
14
NOT
2
NOT
3
NULL
17
NULL
18
NULL
19
NULL
20
NULL
21
NULL
23
NULL
25
`users` [
21
NOT
3
NULL
28
NULL
29
NULL
30
NULL
31
NULL
32
NULL
34
NULL
36
NULL
38
`users` [
21
`id`
53
`id`
57
`id`
0____174_______59`id`
5
`id`
0`id`
62`id`
5
`id`
0_______174_______66NULL
51`id`
66`id`
5
`id`
0_______174_______79 `id`
80______174_______3`id`
82 `id`
83`id`
3`id`
85
[11]
70_______174_______87`id`
3`id`
89`id`
5
[11]
3____174_______62`id`
5
`id`
0`id`
95`id`
5
`id`
0_______174_______1 `id`
2`id`
3int
02`id`
5
`id`
6_______174_______0int
06NULL
84int
06`id`
5
[11]
3_______174_______1`id`
5
174_______0_______174_______1 `id`
2`id`
3NULL
96`id`
5
NOT
3
`id`
6_______59_______00
81____59_______02
`id`
6
`id`
6______59_______05
81____59_______07
`id`
6_______22_______6
7 AUTO_INCREMENT
11
`id`
03`id`
0`id`
1 `id`
2`id`
3AUTO_INCREMENT
17 `id`
5
81____174_______0AUTO_INCREMENT
21`id`
5
[11]
70_______22_______6
7
[11]
01____59_______27
[11]
01____59_______29
[11]
70_______174_______53
81____436_______3AUTO_INCREMENT
21`id`
5
`id`
03[11]
3`id`
1`id`
5
`id`
6_______22_______6____22_______7 [11]
8
NOT
3
`id`
6_______59_______46
`id`
6_______59_______48
`id`
6_______22_______6
7 AUTO_INCREMENT
52
`id`
03
`id`
0____465_______2`id`
5
81____59_______58
81____174_______0AUTO_INCREMENT
61`id`
5
[11]
70_______22_______6
7 AUTO_INCREMENT
66
81____436_______3AUTO_INCREMENT
61`id`
5
`id`
03____436_______3int
2`id`
5
`id`
03
`id`
0____465_______2`id`
5
81_______174_______0[11]
24 `id`
87`id`
3AUTO_INCREMENT
84 AUTO_INCREMENT
85`id`
3AUTO_INCREMENT
87`id`
5
[11]
70_______59_______90
81____436_______3[11]
24`id`
5
`id`
03____436_______3int
2`id`
5
`id`
6_______22_______6____22_______7 [11]
8
[11]
3_______174_______1`id`
5
[11]
3____174_______95`id`
5
[11]
3____174_______59`id`
5
Giải trình.
Dòng 01 – 19. Tên người dùng đã được lưu trữ trong biến phiên hiện được hiển thị lại cho người dùng. Biến phiên này có thể bị hủy bằng cách sử dụng unset[$_SESSION[“products”]] hoặc session_destroy[]. Tuy nhiên, session_destroy[] sẽ hủy tất cả các biến phiên cùng một lúc. Để chỉ hủy biến phiên 'tên người dùng', sẽ tốt hơn nếu bỏ đặt biến bằng cách sử dụng unset[$_SESSION[“products”]]
Dòng 34 – 42. Điều này đảm bảo rằng trang này chỉ có thể truy cập được đối với những người dùng đã đăng nhập
Dòng 45 – 50. Điều này sẽ hiển thị một thông báo chào mừng được cá nhân hóa cho người dùng sau khi họ đăng nhập
Tệp CSS
CSS
TABLE
013
62_______015_______62_______016TABLE
017NOT
8
TABLE
020TABLE
016TABLE
017NOT
8
`users` [
21
TABLE
025
62_______027_______62_______016TABLE
029NOT
8
62_______032TABLE
016TABLE
034NOT
8
`users` [
21
TABLE
037
TABLE
039TABLE
016TABLE
041NOT
8
62_______015_______62_______016TABLE
046 TABLE
047 TABLE
017NOT
8
62_______051_______62_______016TABLE
053NOT
8
62_______032TABLE
016TABLE
058NOT
8
62_______061TABLE
016TABLE
063NOT
8
TABLE
066TABLE
016TABLE
068 TABLE
069 TABLE
070NOT
8
62_______073TABLE
016TABLE
075NOT
8
62_______078TABLE
079 TABLE
079 TABLE
017 TABLE
017NOT
8
62_______020TABLE
016TABLE
087NOT
8
`users` [
21
TABLE
090
TABLE
039TABLE
016TABLE
041NOT
8
62_______015_______62_______016TABLE
017 TABLE
047NOT
8
62_______020TABLE
016TABLE
087NOT
8
TABLE
066TABLE
016TABLE
068 TABLE
069 TABLE
070NOT
8
62_______032TABLE
016TABLE
053NOT
8
62_______078TABLE
017 TABLE
017 TABLE
079 TABLE
079NOT
8
`users` [
21
TABLE
127
62_______015_______62_______016TABLE
079 TABLE
079 TABLE
079 TABLE
079NOT
8
`users` [
21
TABLE
137
TABLE
139TABLE
016TABLE
141NOT
8
TABLE
061_______62_______016TABLE
146NOT
8
62_______015_______62_______016TABLE
151NOT
8
62_______027_______62_______016TABLE
087NOT
8
`users` [
21
TABLE
159
TABLE
161_______62_______016TABLE
163NOT
8
TABLE
039TABLE
016TABLE
168NOT
8
TABLE
020TABLE
016TABLE
151 TABLE
079NOT
8
TABLE
027_______62_______016TABLE
179NOT
8
TABLE
078TABLE
079NOT
8
62_______066TABLE
016TABLE
068 TABLE
069 TABLE
190NOT
8
`users` [
21
TABLE
193
TABLE
195_______62_______016TABLE
197NOT
8
62_______020_______62_______016TABLE
202NOT
8
TABLE
027TABLE
016TABLE
207NOT
8
62_______051_______62_______016TABLE
053NOT
8
TABLE
032TABLE
016TABLE
217NOT
8
62_______066TABLE
016TABLE
075NOT
8
TABLE
078TABLE
079NOT
8
`users` [
21
TABLE
229
TABLE
039TABLE
016TABLE
233NOT
8
62_______015_______62_______016TABLE
017 TABLE
047NOT
8
TABLE
020TABLE
016TABLE
079NOT
8
62_______066TABLE
016TABLE
068 TABLE
069 TABLE
251NOT
8
TABLE
051_______62_______016TABLE
251NOT
8
TABLE
032TABLE
016TABLE
261NOT
8
TABLE
078TABLE
151NOT
8
TABLE
061_______62_______016TABLE
146NOT
8
`users` [
21
TABLE
273
TABLE
051_______62_______016TABLE
277NOT
8
TABLE
032TABLE
016TABLE
282NOT
8
62_______066TABLE
016TABLE
068 TABLE
069 TABLE
277NOT
8
TABLE
292_______62_______016TABLE
087NOT
8
`users` [
21
Ảnh đại diện
Trang đăng ký
Người dùng được chuyển hướng đến trang này sau khi đăng nhập. Một thông báo chào mừng được hiển thị ở đó
Trang đăng nhập của hệ thống
Người dùng đã đăng nhập thành công
Tên truy nhập không chính xác và kết hợp mật khẩu
Làm thế nào để chạy dự án này?
Mã nguồn của dự án này có thể được lấy từ kho lưu trữ GitHub này
Sau khi tải xuống và giải nén dự án, hãy làm theo các bước đã cho để chạy chương trình.
- Tải xuống tất cả các tệp hoặc sao chép kho lưu trữ vào hệ thống cục bộ của bạn
- Tạo một cơ sở dữ liệu có tên là 'đăng ký' và một bảng có tên là 'người dùng'. Mã MySQL của bảng đã được cung cấp ở trên
- Sử dụng XAMPP hoặc WAMP để chạy hệ thống trên localhost
- Đảm bảo rằng các cổng cần thiết để chạy máy chủ Apache và MySQL đều miễn phí. Nếu không, thì bạn sẽ phải thay đổi số cổng
HTML là nền tảng của các trang web, được sử dụng để phát triển trang web bằng cách cấu trúc các trang web và ứng dụng web. Bạn có thể học HTML từ đầu bằng cách làm theo Hướng dẫn HTML và Ví dụ về HTML này
PHP là ngôn ngữ kịch bản phía máy chủ được thiết kế dành riêng cho phát triển web. Bạn có thể học PHP từ đầu bằng cách làm theo Hướng dẫn PHP và Ví dụ về PHP này