Mẫu HTML [GET và POST]
Khi một biểu mẫu được gửi đến tập lệnh PHP, thông tin từ biểu mẫu đó sẽ tự động cung cấp cho tập lệnh. Có một số cách để truy cập thông tin này, ví dụ: ví dụ:
Ví dụ #1 một biểu mẫu HTML đơn giản
Name:
Email:
Chỉ có hai cách để truy cập dữ liệu từ các biểu mẫu HTML của bạn. Các phương thức hiện có được liệt kê dưới đây:
Ví dụ #2 truy cập dữ liệu từ biểu mẫu HTML bài đăng đơn giản
Sử dụng biểu mẫu GET tương tự ngoại trừ bạn sẽ sử dụng biến nhận được xác định trước. Nhận cũng áp dụng cho QUERY_STRING
[thông tin sau '?' Trong URL]. Vì vậy, ví dụ, //www.example.com/test.php?id=3
chứa dữ liệu có thể truy cập được với $ _get ['id']. Xem thêm $ _Request.
Ghi chú::
Các dấu chấm và không gian trong tên biến được chuyển đổi thành dấu gạch dưới. Ví dụ
trở thành
$_REQUEST["a_b"]
.
PHP cũng hiểu các mảng trong ngữ cảnh của các biến biểu mẫu [xem Câu hỏi thường gặp liên quan]. Ví dụ, bạn có thể với nhau các biến liên quan đến nhóm hoặc sử dụng tính năng này để truy xuất các giá trị từ nhiều đầu vào chọn. Ví dụ: chúng ta hãy đăng một biểu mẫu lên chính nó và khi gửi hiển thị dữ liệu:
Ví dụ #3 Biến mẫu phức tạp hơn
Name:
Email:
Beer:
Warthog
Guinness
Stuttgarter Schwabenbräu
Lưu ý: Nếu một tên biến bên ngoài bắt đầu bằng cú pháp mảng hợp lệ, các ký tự dấu vết sẽ bị bỏ qua âm thầm. Ví dụ,
trở thành 0.: If an external variable name begins with a valid array syntax, trailing characters are silently ignored. For example,
becomes 0.
Hình ảnh gửi tên biến
Khi gửi biểu mẫu, có thể sử dụng hình ảnh thay vì nút gửi tiêu chuẩn có thẻ như:
Khi người dùng nhấp vào đâu đó trên hình ảnh, biểu mẫu đi kèm sẽ được truyền đến máy chủ với hai biến bổ sung, sub_x và sub_y. Chúng chứa tọa độ của người dùng nhấp vào trong hình ảnh. Có kinh nghiệm có thể lưu ý rằng các tên biến thực tế được gửi bởi trình duyệt chứa một khoảng thời gian chứ không phải là dấu gạch dưới, nhưng PHP chuyển đổi khoảng thời gian thành dấu gạch dưới tự động.
Cookie HTTP
PHP trong suốt hỗ trợ cookie HTTP như được định nghĩa bởi »& NBSP; RFC 6265. Cookie là một cơ chế lưu trữ dữ liệu trong trình duyệt từ xa và do đó theo dõi hoặc xác định người dùng trả về. Bạn có thể đặt cookie bằng hàm setCookie []. Cookie là một phần của tiêu đề HTTP, vì vậy hàm setcookie phải được gọi trước khi bất kỳ đầu ra nào được gửi đến trình duyệt. Đây là cùng một hạn chế như đối với hàm tiêu đề []. Dữ liệu cookie sau đó có sẵn trong các mảng dữ liệu cookie thích hợp, chẳng hạn như $ _cookie cũng như trong $ _Request. Xem trang hướng dẫn SetCookie [] để biết thêm chi tiết và ví dụ.setcookie[] function. Cookies are part of the HTTP header, so the SetCookie function must be called before any output is sent to the browser. This is the same restriction as for the header[] function. Cookie data is then available in the appropriate cookie data arrays, such as $_COOKIE as well as in $_REQUEST. See the setcookie[] manual page for more details and examples.
Lưu ý: Kể lần lượt là Php 7.2.34, 7.3.23 và 7.4.11, tên của cookie đến không còn được mã hóa URL vì lý do bảo mật.: As of PHP 7.2.34, 7.3.23 and 7.4.11, respectively, the names of incoming cookies are no longer url-decoded for security reasons.
Nếu bạn muốn gán nhiều giá trị cho một biến cookie, bạn có thể gán nó dưới dạng một mảng. Ví dụ:
1Điều đó sẽ tạo ra hai cookie riêng biệt mặc dù Mycookie bây giờ sẽ là một mảng duy nhất trong tập lệnh của bạn. Nếu bạn muốn chỉ đặt một cookie có nhiều giá trị, hãy xem xét sử dụng serialize [] hoặc leasplode [] trên giá trị trước.serialize[] or explode[] on the value first.
Lưu ý rằng cookie sẽ thay thế cookie trước đó cùng tên trong trình duyệt của bạn trừ khi đường dẫn hoặc miền khác nhau. Vì vậy, đối với một ứng dụng giỏ hàng, bạn có thể muốn giữ một quầy và vượt qua điều này. I E.
Ví dụ #4 Ví dụ SetCookie []setcookie[] example
2Chấm trong tên biến đến
Thông thường, PHP không làm thay đổi tên của các biến khi chúng được chuyển thành một tập lệnh. Tuy nhiên, cần lưu ý rằng dấu chấm [thời gian, dừng hoàn toàn] không phải là một ký tự hợp lệ trong tên biến PHP. Vì lý do, hãy nhìn vào nó:
3Bây giờ, những gì trình phân tích cú pháp nhìn thấy là một biến có tên $ varname, theo sau là toán tử nối chuỗi, theo sau là barestring [tức là chuỗi chưa được trích xuất không khớp với bất kỳ khóa nào đã biết hoặc từ dành riêng] 'ext'. Rõ ràng, điều này không có kết quả dự định.
Vì lý do này, điều quan trọng cần lưu ý là PHP sẽ tự động thay thế bất kỳ dấu chấm nào trong các tên biến đến với dấu gạch dưới.
Xác định các loại biến
Bởi vì PHP xác định các loại biến và chuyển đổi chúng [nói chung] khi cần thiết, không phải lúc nào cũng rõ ràng là loại nhất định nào là bất kỳ lúc nào. PHP bao gồm một số hàm tìm hiểu loại một biến nào là, chẳng hạn như: getType [], is_array [], is_float [], is_int [], is_object [] và is_string []. Xem thêm Chương về các loại.gettype[], is_array[], is_float[], is_int[], is_object[], and is_string[]. See also the chapter on Types.
HTTP là một giao thức văn bản, hầu hết, nếu không phải tất cả, nội dung đi kèm trong các mảng SuperGlobal, như $ _POST và $ _GET sẽ vẫn còn như chuỗi. PHP sẽ không cố gắng chuyển đổi các giá trị thành một loại cụ thể. Trong ví dụ dưới đây, $ _get ["var1"] sẽ chứa chuỗi "null" và $ _get ["var2"], chuỗi "123".
/index.php?var1=null&var2=123
Thay đổi
7.2.34, 7.3.23, 7.4.11 | Tên của cookie đến không còn được mã hóa URL vì lý do bảo mật. |
Ẩn danh ¶ ¶
14 năm trước
456Krydprz tại IIT dot edu ¶ ¶
17 năm trước
789/index.php?var1=null&var2=1230
/index.php?var1=null&var2=1231
/index.php?var1=null&var2=1232
/index.php?var1=null&var2=1233
/index.php?var1=null&var2=1234
/index.php?var1=null&var2=1235
/index.php?var1=null&var2=1236
/index.php?var1=null&var2=1237
/index.php?var1=null&var2=1238
/index.php?var1=null&var2=1239
0
1
2
TMK-PHP tại Infeline Dot org ¶ ¶
17 năm trước
4
5
Ẩn danh ¶ ¶
14 năm trước
7
8
Krydprz tại IIT dot edu ¶ ¶
17 năm trước
QUERY_STRING
0
QUERY_STRING
1
QUERY_STRING
2
QUERY_STRING
3
QUERY_STRING
4
TMK-PHP tại Infeline Dot org ¶ ¶
19 năm trước
QUERY_STRING
6
QUERY_STRING
7
Lennynyktyk tại Yahoo Dot Com ¶ ¶
18 năm trước
QUERY_STRING
9
A tại b dot c dot de ¶ ¶
14 năm trước
//www.example.com/test.php?id=3
0
//www.example.com/test.php?id=3
1
//www.example.com/test.php?id=3
2
//www.example.com/test.php?id=3
3
//www.example.com/test.php?id=3
4
//www.example.com/test.php?id=3
5
Krydprz tại IIT dot edu ¶ ¶
17 năm trước
//www.example.com/test.php?id=3
7
//www.example.com/test.php?id=3
8
//www.example.com/test.php?id=3
9
0
TMK-PHP tại Infeline Dot org ¶ ¶
19 năm trước
2
3
Lennynyktyk tại Yahoo Dot Com ¶ ¶
14 năm trước
5
6
7
8
9
$_REQUEST["a_b"]
0
Krydprz tại IIT dot edu ¶ ¶
17 năm trước
$_REQUEST["a_b"]
2
$_REQUEST["a_b"]
3
$_REQUEST["a_b"]
4
TMK-PHP tại Infeline Dot org ¶ ¶
19 năm trước
$_REQUEST["a_b"]
6
$_REQUEST["a_b"]
7
$_REQUEST["a_b"]
8
Lennynyktyk tại Yahoo Dot Com ¶ ¶
14 năm trước
0
Name:
Email:
Beer:
Warthog
Guinness
Stuttgarter Schwabenbräu
1
Name:
Email:
Beer:
Warthog
Guinness
Stuttgarter Schwabenbräu
Krydprz tại IIT dot edu ¶ ¶
17 năm trước
3
Name:
Email:
Beer:
Warthog
Guinness
Stuttgarter Schwabenbräu
4
Name:
Email:
Beer:
Warthog
Guinness
Stuttgarter Schwabenbräu
5
Name:
Email:
Beer:
Warthog
Guinness
Stuttgarter Schwabenbräu
TMK-PHP tại Infeline Dot org ¶ ¶
19 năm trước
7
Name:
Email:
Beer:
Warthog
Guinness
Stuttgarter Schwabenbräu
8
Name:
Email:
Beer:
Warthog
Guinness
Stuttgarter Schwabenbräu
Lennynyktyk tại Yahoo Dot Com ¶ ¶
19 năm trước
0
1
Lennynyktyk tại Yahoo Dot Com ¶ ¶
17 năm trước
3
4
5
TMK-PHP tại Infeline Dot org ¶ ¶
19 năm trước
7
8
9
Lennynyktyk tại Yahoo Dot Com ¶ ¶
17 năm trước
07080910TMK-PHP tại Infeline Dot org ¶ ¶
19 năm trước
11126Lennynyktyk tại Yahoo Dot Com ¶ ¶
17 năm trước
1415161718TMK-PHP tại Infeline Dot org ¶ ¶
17 năm trước
1920216TMK-PHP tại Infeline Dot org ¶ ¶
14 năm trước
23242526276Krydprz tại IIT dot edu ¶ ¶
17 năm trước
293031323334356TMK-PHP tại Infeline Dot org ¶ ¶
17 năm trước
37386TMK-PHP tại Infeline Dot org ¶ ¶
19 năm trước
40416