Chương trình lịch hoạt động cá nhân - Thiếu dữ liệu biểu mẫu trong chương trình PHP
Cho đến nay, trong Chương trình Lịch hoạt động cá nhân, chúng tôi đã viết mã cho khả năng biểu mẫu web Mục nhập hoạt động chưa được gửi ($ _POST ['submit'] trống). Nếu đây là trường hợp, chương trình sẽ khởi tạo các biến thành null ngay trước khi gọi hàm sẽ hiển thị biểu mẫu trong trình duyệt web lần đầu tiên. Bây giờ chúng tôi sẽ mã cho khả năng biểu mẫu đã được gửi ($ _POST ['submit'] không trống). Nếu đây là trường hợp, có hai lựa chọn cho bước tiếp theo.
  1. Nếu biểu mẫu đã được gửi và người dùng chưa cung cấp tất cả dữ liệu cần thiết, chương trình sẽ hiển thị lại biểu mẫu trong trình duyệt web cùng với thông báo lỗi.

  2. Nếu biểu mẫu đã được gửi và dữ liệu cần thiết không bị thiếu, chương trình sẽ xử lý dữ liệu và gửi đến cơ sở dữ liệu.
Hãy làm việc trên tùy chọn đầu tiên. Làm thế nào chúng tôi sẽ kiểm tra nếu có bất kỳ dữ liệu bị thiếu? Đầu tiên, chúng ta cần quyết định dữ liệu nào là bắt buộc và dữ liệu nào là tùy chọn. Đối với chương trình lịch đơn giản này, dữ liệu cần thiết duy nhất là tiêu đề của hoạt động và thời gian / ngày bắt đầu. Các trường đầu vào khác trong mẫu web là tùy chọn. Đây là năm trường nhập dữ liệu bắt buộc trong biểu mẫu web và sáu trường tùy chọn.
Cần thiết

Act_title
Act_month_1
Act_day_1
Act_year_1
hành động_hình_1
Không bắt buộc

Act_desc
Act_month_2
Act_day_2
Act_year_2
hành động_hãy_2
hành động

Bước đầu tiên của chúng tôi là sử dụng câu lệnh if if để kiểm tra mọi dữ liệu bị thiếu cho từng trường nhập liệu bắt buộc và tùy chọn. Chúng tôi cũng sẽ tạo một biến có tên $ error_message và ban đầu đặt giá trị thành Không. Nếu có bất kỳ dữ liệu bị thiếu, biến sẽ được đặt thành Đúng. Đây là phần đầu tiên của mã.

$ error_message = "không";

if (trống ($ _ POST ['act_title']))
{
$ error_message = "có";
$ pass_act_title = "";
}
khác {$ pass_act_title = $ _POST ['act_title']; }


if (trống ($ _ POST ['act_desc'])) {$ pass_act_desc = ""; }
khác {$ pass_act_desc = $ _POST ['act_desc']; }
. . .
. . .

Mã này làm gì? Trước tiên, chương trình sẽ đặt biến $ error_message thành Không. Nó sẽ kiểm tra tiếp theo từng trường trong số mười một trường nhập dữ liệu được truyền từ biểu mẫu. Trong đoạn mã trên, chúng tôi đang thử nghiệm hai biến đầu tiên là act_title và act_desc. Tuy nhiên, toàn bộ mã cũng sẽ kiểm tra 9 biến còn lại. Có ba kết quả có thể.

  1. Nếu chương trình gặp phải dữ liệu bị thiếu từ một cần thiết trường đầu vào (act_title), nó sẽ đặt biến tham số tương ứng thành null và biến $ error_message thành Đúng.

  2. Nếu chương trình gặp phải dữ liệu bị thiếu từ một không bắt buộc trường dữ liệu (act_desc), nó sẽ đặt biến tham số thành null nhưng không phải đặt $ error_message thành Đúng.

  3. Nếu dữ liệu cho trường đầu vào không bị thiếu, nó sẽ thực hiện câu lệnh khác. Nó sẽ đặt biến tham số thành giá trị của biến $ _POST [''] tương ứng và biến $ error_message sẽ không phải bị ảnh hưởng
Nếu chương trình thực hiện thử nghiệm cho tất cả mười biến $ _POST và biến $ error_message vẫn được đặt thành Không, điều này cho chương trình biết rằng không có dữ liệu cần thiết bị thiếu. Trong trường hợp này, dữ liệu sẽ được xử lý thêm và chuyển đến cơ sở dữ liệu. Tuy nhiên, nếu biến $ error_message đã được đặt thành Đúng, điều này có nghĩa là ít nhất một trường bắt buộc có dữ liệu bị thiếu. Chương trình sẽ gọi lại hàm Activity_Entry_Form. Vì chúng tôi đã đặt giá trị của các biến tham số thành null (đối với dữ liệu bị thiếu) hoặc thành giá trị của biến $ _POST tương ứng, chúng tôi sẵn sàng chuyển chúng bằng lệnh gọi hàm.

if ($ error_message == "có")
{
Activity_Entry_Form ($ pass_act_title, $ pass_act_desc,
$ pass_act_month_1, $ pass_act_day_1, $ pass_act_year_1,
$ pass_act_hour_1, $ pass_act_month_2, $ pass_act_day_2,
$ pass_act_year_2, $ pass_act_hour_2, $ pass_act_status);
}
other {xử lý dữ liệu hơn nữa}
Ghi chú--Mũi tên chỉ ra rằng mã được gói thành một dòng thứ hai và thực sự nên nằm trên một dòng.

Bước tiếp theo sẽ là điều chỉnh hàm Activity_Entry_Form để xử lý thông báo lỗi mới.

Lưu ý - Mục đích của hướng dẫn này là xây dựng Chương trình Lịch hoạt động cá nhân để sử dụng cá nhân và dạy những điều cơ bản về cơ sở dữ liệu PHP và MySQL. Tôi chưa bao gồm bất kỳ tính năng bảo mật nào như ngăn chặn dữ liệu đầu vào độc hại. Điều đó sẽ làm cho hướng dẫn này quá phức tạp cho người mới. Nếu bạn đang tạo một chương trình cho web, bạn sẽ muốn đưa bảo mật đó vào mã chương trình của mình.







Video HướNg DẫN: Hướng dẫn tạo Form thu thập thông tin trên Google Drive (news 2017) (Có Thể 2024).