Program kalendarza działań osobistych - brak danych formularza w programie PHP
Do tej pory w Programie Kalendarza Aktywności Osobistych napisaliśmy kod dla możliwości, że formularz internetowy Wpisu Aktywności nie został jeszcze przesłany ($ _POST [„prześlij”] jest pusty). W takim przypadku program zainicjuje zmienne do wartości null tuż przed wywołaniem funkcji, która po raz pierwszy wyświetli formularz w przeglądarce internetowej. Teraz zakodujemy możliwość przesłania formularza ($ _POST [„prześlij”] nie jest pusty). W takim przypadku istnieją dwie opcje do następnego kroku.
  1. Jeśli formularz został przesłany, a użytkownik nie podał wszystkich wymaganych danych, program ponownie wyświetli formularz w przeglądarce internetowej wraz z komunikatem o błędzie.

  2. Jeśli formularz został przesłany, a wymaganych danych nie brakuje, program przetworzy dane i wyśle ​​je do bazy danych.
Popracujmy nad pierwszą opcją. Jak przetestujemy, czy brakuje jakichkolwiek danych? Najpierw musimy zdecydować, które dane są wymagane, a które opcjonalne. W przypadku tego prostego programu kalendarza jedynymi wymaganymi danymi są tytuł działania oraz godzina / data rozpoczęcia. Pozostałe pola wprowadzania w formularzu internetowym są opcjonalne. Jest to pięć wymaganych pól wprowadzania danych w formularzu internetowym i sześć opcjonalnych.
wymagany

act_title
akt_miesiąc_1
akt_dnia_1
akt_rok_1
act_hour_1
Opcjonalny

act_desc
akt_miesiąc_2
akt_dnia_2
akt_rok_2
akt_godzina_2
aktualny status

Naszym pierwszym krokiem jest użycie instrukcji PHP if do testowania brakujących danych dla każdego z wymaganych i opcjonalnych pól wejściowych. Stworzymy również zmienną o nazwie $ error_message i wstępnie ustawimy wartość na Nie. Jeśli brakuje jakichkolwiek danych, zmienna zostanie ustawiona na tak. Oto pierwsza sekcja kodu.

$ error_message = "nie";

if (pusty ($ _ POST ['act_title']))
{
$ error_message = "yes";
$ pass_act_title = "";
}
else {$ pass_act_title = $ _POST ['act_title']; }


if (pusty ($ _ POST ['act_desc'])) {$ pass_act_desc = ""; }
else {$ pass_act_desc = $ _POST ['act_desc']; }
. . .
. . .

Co robi ten kod? Program najpierw ustawi zmienną $ error_message na Nie. Następnie przetestuje każde z jedenastu pól wprowadzania danych przekazanych z formularza. W powyższym kodzie testujemy pierwsze dwie zmienne act_title i act_desc. Jednak cały kod przetestuje również pozostałe 9 zmiennych. Istnieją trzy możliwe wyniki.

  1. Jeśli program napotka brakujące dane z wymagany pole wejściowe (act_title), ustawi odpowiednią zmienną parametru na null, a zmienną $ error_message na tak.

  2. Jeśli program napotka brakujące dane z pliku opcjonalny pole danych (act_desc), ustawi zmienną parametru na null, ale nie ustaw wartość $ error_message na tak.

  3. Jeśli nie brakuje danych dla pola wejściowego, wykona instrukcję else. Ustawi zmienną parametru na wartość odpowiadającej zmiennej $ _POST [''], a zmienna $ error_message będzie nie być pod wpływem.
Jeśli program przejdzie test dla wszystkich jedenastu zmiennych $ _POST, a zmienna $ error_message jest nadal ustawiona na Nie, informuje to program, że nie brakuje wymaganych danych. W takim przypadku dane będą przetwarzane dalej i przekazywane do bazy danych. Jeśli jednak zmienna $ error_message została ustawiona na takoznacza to, że w co najmniej jednym wymaganym polu brakuje danych. Program ponownie wywoła funkcję Activity_Entry_Form. Ponieważ ustawiliśmy już wartość zmiennych parametrów na null (w przypadku brakujących danych) lub wartość odpowiadającej zmiennej $ _POST, jesteśmy gotowi przekazać je za pomocą wywołania funkcji.

if ($ error_message == "yes")
{
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);
}
else {dalej przetwarzaj dane}
Uwaga--Strzała wskazuje, że kod jest zawinięty do drugiej linii i naprawdę powinien znajdować się w jednej linii.

Następnym krokiem będzie dostosowanie funkcji Activity_Entry_Form w celu obsługi nowego komunikatu o błędzie.

Uwaga - Celem tego samouczka jest zbudowanie programu kalendarza czynności osobistych do użytku osobistego i nauczenie podstaw baz danych PHP i MySQL. Nie uwzględniłem żadnych funkcji bezpieczeństwa, takich jak zapobieganie złośliwym danym wejściowym. To uczyniłoby ten samouczek zbyt skomplikowanym dla początkującego. Jeśli tworzysz program dla Internetu, chcesz uwzględnić takie zabezpieczenia w kodzie programu.







Instrukcje Wideo: PHP for Web Development (Może 2024).