XForms xác định một biến thể trên các biểu mẫu web truyền thống cho phép chúng được sử dụng trên nhiều nền tảng và trình duyệt khác nhau hoặc thậm chí các phương tiện phi truyền thống như tài liệu PDF.
Sự khác biệt chính đầu tiên trong XForms là cách biểu mẫu được gửi đến máy khách. » XForms cho HTML Tác giả chứa một mô tả chi tiết về cách tạo XForms, với mục đích của hướng dẫn này, chúng tôi sẽ chỉ xem xét một ví dụ đơn giản.
Ví dụ # 1 Một mẫu tìm kiếm XForms đơn giản
<h:html xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2002/xforms"> <h:head> <h:title>Search</h:title> <model> <submission action="http://example.com/search" method="post" id="s"/> </model> </h:head> <h:body> <h:p> <input ref="q"><label>Find</label></input> <submit submission="s"><label>Go</label></submit> </h:p> </h:body> </h:html>
Biểu mẫu trên hiển thị hộp nhập văn bản (có tên q ) và nút gửi. Khi nhấp vào nút gửi, biểu mẫu sẽ được gửi đến trang được gọi bằng hành động .
Đây là nơi nó bắt đầu trông khác với quan điểm của ứng dụng web của bạn. Ở dạng HTML thông thường, dữ liệu sẽ được gửi dưới dạng application / x-www-form-urlencoding , trong thế giới XForms, tuy nhiên, thông tin này được gửi dưới dạng dữ liệu được định dạng XML .
Nếu bạn chọn làm việc với XForms thì có lẽ bạn muốn dữ liệu đó là XML , trong trường hợp đó, hãy tìm trong $ HTTP_RAW_POST_DATA nơi bạn sẽ tìm thấy tài liệu XML được tạo bởi trình duyệt mà bạn có thể chuyển vào công cụ XSLT hoặc trình phân tích tài liệu yêu thích của bạn .
Nếu bạn không quan tâm đến định dạng và chỉ muốn dữ liệu của mình được tải vào biến $ _POST truyền thống, bạn có thể hướng dẫn trình duyệt máy khách gửi nó dưới dạng application / x-www-form-urlencoding bằng cách thay đổi thuộc tính method thành urlencoding- bài .
Ví dụ # 2 Sử dụng XForm để điền $ _POST
<h:html xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2002/xforms"> <h:head> <h:title>Search</h:title> <model> <submission action="http://example.com/search" method="urlencoded-post" id="s"/> </model> </h:head> <h:body> <h:p> <input ref="q"><label>Find</label></input> <submit submission="s"><label>Go</label></submit> </h:p> </h:body> </h:html>
Xem thêm: Xác thực HTTP với PHP,
Xem nội dung khóa học PHP Fullstack trực tuyến