Cho đến nay, các biểu mẫu là cách tương tác phổ biến nhất với PHP. Như chúng tôi đã đề cập trước đây, bạn nên có kiến thức về HTML và đây là nơi chúng tôi bắt đầu sử dụng nó. Nếu không, chỉ cần truy cập Wikibook HTML để xem lại
Để tạo một biểu mẫu và trỏ nó tới một tài liệu PHP, thẻ HTML
được sử dụng và một hành động được chỉ định như sauKhi người dùng nhấp vào "Gửi", phần thân của biểu mẫu sẽ được gửi tới tập lệnh PHP để xử lý. Tất cả các trường trong biểu mẫu được lưu trữ trong các biến $_GET hoặc $_POST, tùy thuộc vào phương thức được sử dụng để gửi biểu mẫu
Sự khác biệt giữa các phương thức GET và POST là GET gửi tất cả các giá trị trong URL, trong khi POST gửi các giá trị một cách rõ ràng thông qua các tiêu đề HTTP. Nguyên tắc chung là nếu bạn đang gửi dữ liệu nhạy cảm, hãy sử dụng POST. Biểu mẫu POST thường cung cấp bảo mật hơn
Hãy nhớ $_GET và $_POST là các mảng siêu toàn cục, nghĩa là bạn có thể tham chiếu chúng ở bất kỳ đâu trong tập lệnh PHP. Ví dụ: bạn không cần gọi global $_POST hoặc global $_GET để sử dụng chúng bên trong các hàm
Hãy xem một ví dụ về cách bạn có thể làm điều này
Login Please log in.
Username:
Password:
Hình thức này sẽ giống như sau
Xin vui lòng đăng nhập. tên tài khoản. …Mật khẩu. …Gửi điVà đây là tập lệnh bạn sẽ sử dụng để xử lý nó [đăng nhập. php]
Chúng ta hãy xem kịch bản đó kỹ hơn một chút
if[$_POST['username'] == "Spoom" && $_POST['password'] == "idontneednostinkingpassword"]
Như bạn có thể thấy, $_POST là một mảng, với các khóa khớp với tên của từng trường trong biểu mẫu. Đối với khả năng tương thích ngược, bạn cũng có thể tham khảo chúng bằng số, nhưng nhìn chung bạn không nên vì phương pháp này rõ ràng hơn nhiều. Và về cơ bản, đó là cách bạn sử dụng biểu mẫu để gửi dữ liệu tới tài liệu PHP. Nó là dễ dàng
Sổ tay PHP. Xử lý các biểu mẫu
Mặc dù PHP ban đầu được tạo ra với mục đích trở thành ngôn ngữ web, nhưng nó cũng có thể được sử dụng cho tập lệnh dòng lệnh [mặc dù điều này không phổ biến, vì có sẵn các công cụ đơn giản hơn như tập lệnh bash]
Bạn có thể xuất ra bảng điều khiển giống như cách bạn xuất ra một trang web, ngoại trừ việc bạn phải nhớ rằng HTML không được phân tích cú pháp [một lỗi phổ biến đáng ngạc nhiên] và bạn phải xuất các dòng mới theo cách thủ công. Chương trình hello world điển hình sẽ như thế này
Lưu ý ký tự dòng mới ở cuối dòng - dòng mới rất hữu ích để làm cho đầu ra của bạn trông gọn gàng và dễ đọc
PHP có một số tệp đặc biệt để bạn đọc và ghi vào dòng lệnh. Các tệp này bao gồm các tệp stdin, stdout và stderr. Để truy cập các tệp này, bạn phải mở các tệp này như thể chúng là các tệp thực bằng fopen, ngoại trừ việc bạn mở chúng bằng php đặc biệt. // "giao thức", như thế này
$fp = fopen["php://stdin","r"];
Để đọc từ bảng điều khiển, bạn chỉ cần đọc từ stdin. Không cần chuyển hướng đặc biệt để ghi vào bảng điều khiển, nhưng nếu bạn muốn ghi vào thiết bị lỗi chuẩn, bạn có thể mở nó và ghi vào đó
$fp = fopen["php://stderr","w"];
Ghi nhớ cách đọc đầu vào, giờ đây chúng ta có thể xây dựng một tập lệnh dòng lệnh đơn giản yêu cầu người dùng nhập tên người dùng và mật khẩu để tự xác thực
Lưu ý rằng tập lệnh này chỉ đóng vai trò là một ví dụ về cách sử dụng PHP để lập trình dòng lệnh - mã chứa ở đây thể hiện một cách rất kém để xác thực người dùng hoặc lưu trữ mật khẩu. Hãy nhớ rằng các tập lệnh PHP của bạn có thể đọc được bởi những người khác
Câu lệnh include
[hoặc require
] lấy tất cả văn bản/mã/đánh dấu tồn tại trong tệp được chỉ định và sao chép nó vào tệp sử dụng câu lệnh bao gồm
Bao gồm các tệp rất hữu ích khi bạn muốn bao gồm cùng một PHP, HTML hoặc văn bản trên nhiều trang của trang web
PHP bao gồm và yêu cầu báo cáo
Có thể chèn nội dung của một tệp PHP vào một tệp PHP khác [trước khi máy chủ thực thi nó], với câu lệnh bao gồm hoặc yêu cầu
Các câu lệnh bao gồm và yêu cầu giống hệt nhau, ngoại trừ khi thất bại
require
sẽ tạo ra lỗi nghiêm trọng [E_COMPILE_ERROR] và dừng tập lệnhinclude
sẽ chỉ đưa ra cảnh báo [E_WARNING] và tập lệnh sẽ tiếp tục
Vì vậy, nếu bạn muốn quá trình thực thi tiếp tục và hiển thị cho người dùng kết quả, ngay cả khi tệp bao gồm bị thiếu, hãy sử dụng câu lệnh bao gồm. Mặt khác, trong trường hợp mã hóa ứng dụng FrameWork, CMS hoặc PHP phức tạp, hãy luôn sử dụng câu lệnh yêu cầu để đưa tệp khóa vào luồng thực thi. Điều này sẽ giúp tránh ảnh hưởng đến tính bảo mật và tính toàn vẹn của ứng dụng, chỉ trong trường hợp vô tình thiếu một tệp chính
Bao gồm các tập tin tiết kiệm rất nhiều công việc. Điều này có nghĩa là bạn có thể tạo tệp tiêu đề, chân trang hoặc menu tiêu chuẩn cho tất cả các trang web của mình. Sau đó, khi cần cập nhật tiêu đề, bạn chỉ có thể cập nhật tệp bao gồm tiêu đề
cú pháp
bao gồm 'tên tệp';
hoặc
yêu cầu 'tên tệp';
PHP bao gồm các ví dụ
ví dụ 1
Giả sử chúng ta có một tệp chân trang tiêu chuẩn có tên là "footer. php", trông như thế này
tiếng vang"
Bản quyền © 1999-". ngày ["Y"]. " W3Schools. com
";?>
Để bao gồm tệp chân trang trong một trang, hãy sử dụng câu lệnh include
Ví dụ
Một số tiếp theo
Một số văn bản khác
ví dụ 2
Giả sử chúng ta có một tệp menu tiêu chuẩn gọi là "menu. php"
echo 'Home -
Hướng dẫn HTML -
Hướng dẫn CSS -
Hướng dẫn JavaScript -
PHP Tutorial';
?>
Tất cả các trang trong trang Web nên sử dụng tệp menu này. Đây là cách nó có thể được thực hiện [chúng tôi đang sử dụng một
phần tử để menu có thể dễ dàng được tạo kiểu bằng CSS sau này]
Ví dụ
Một số tiếp theo
Một số văn bản khác
ví dụ 3
Giả sử chúng ta có một tệp tên là "vars. php", với một số biến được định nghĩa
$color='red';
$car='BMW';
?>
Sau đó, nếu chúng tôi bao gồm "vars. php", các biến có thể được sử dụng trong tệp gọi
Ví dụ
echo "Tôi có một chiếc ô tô $color. ";
?>
PHP bao gồm so với. yêu cầu
Câu lệnh require
cũng được sử dụng để đưa tệp vào mã PHP
Tuy nhiên, có một sự khác biệt lớn giữa bao gồm và yêu cầu;
Ví dụ
echo "Tôi có một chiếc ô tô $color. ";
?>
Nếu chúng ta thực hiện ví dụ tương tự bằng cách sử dụng câu lệnh require
, câu lệnh echo sẽ không được thực thi vì quá trình thực thi tập lệnh sẽ chết sau khi câu lệnh require
trả về một lỗi nghiêm trọng