Програм календара за личне активности - недостају подаци из обрасца у ПХП програму
До сада смо у програму календара за личне активности написали код за могућност да веб образац за унос активности још није поднесен ($ _ПОСТ ['пријави'] је празан). Ако је то случај, програм ће иницијализовати променљиве на нулу непосредно пре позива функције који ће први пут приказати образац у веб претраживачу. Сада ћемо кодирати могућност да је образац послан ($ _ПОСТ ['субмит'] није празан). Ако је то случај, постоје две могућности за следећи корак.
  1. Ако је образац послан и корисник није доставио све потребне податке, програм ће поново приказати образац у веб претраживачу заједно са поруком о грешци.

  2. Ако је образац послан и тражени подаци не недостају, програм ће их обрадити и послати у базу података.
Хајде да радимо на првој опцији. Како ћемо тестирати постоје ли подаци који недостају? Прво морамо одлучити који су подаци потребни и који нису. За овај једноставан програм календара, једини потребни подаци су назив активности и време почетка / датум. Остала поља за унос у веб обрасцу нису обавезна. Ово су пет обавезних поља за унос података у веб обрасцу и шест необавезних.
Потребан

ацт_титле
ацт_монтх_1
ацт_даи_1
ацт_иеар_1
ацт_хоур_1
Опционо

ацт_десц
ацт_монтх_2
ацт_даи_2
ацт_иеар_2
ацт_хоур_2
ацт_статус

Наш први корак је употреба ПХП иф изјаве за тестирање недостајућих података за свако обавезно и опционо поље за унос. Такође ћемо креирати променљиву која се зове $ еррор_мессаге и иницијално поставити вредност на не. Ако недостају неки подаци, променљива ће бити постављена на да. Ево првог одељка кода.

$ еррор_мессаге = "не";

иф (празно ($ _ ПОСТ ['ацт_титле']))
{
$ еррор_мессаге = "да";
$ пасс_ацт_титле = "";
}
елсе {$ пасс_ацт_титле = $ _ПОСТ ['ацт_титле']; }


иф (празно ($ _ ПОСТ ['ацт_десц'])) {$ пасс_ацт_десц = ""; }
елсе {$ пасс_ацт_десц = $ _ПОСТ ['ацт_десц']; }
. . .
. . .

Шта ради овај код? Програм ће прво поставити променљиву вредност $ еррор_мессаге на не. Следећи ће тест сваког од једанаест поља за унос података пренети из обрасца. У горњем коду тестирамо прве две променљиве ацт_титле и ацт_десц. Међутим, целокупни код ће тестирати и осталих 9 променљивих. Постоје три могућа резултата.

  1. Ако програм наиђе на податке који недостају из потребан поље за унос (ацт_титле), поставиће одговарајућу варијаблу параметра на нулл, а варијаблу $ еррор_мессаге на да.

  2. Ако програм наиђе на податке који недостају из ан опционо поље података (ацт_десц), поставиће варијаблу параметра на нулу, али не подесите $ еррор_мессаге на да.

  3. Ако подаци за поље за унос не недостају, извршит ће исказ елсе. Поставиће променљиву параметар на вредност одговарајуће $ _ПОСТ [''] променљиве, а $ еррор_мессаге променљива ће не може утицати.
Ако програм прође кроз тест за свих једанаест $ _ПОСТ променљивих, а променљива $ еррор_мессаге је и даље подешена на не, ово говори програму да не недостају потребни подаци. У овом случају ће се подаци даље обрађивати и прослеђивати у базу података. Међутим, ако је променљива $ еррор_мессаге постављена на да, то значи да бар једном обавезном пољу недостају подаци. Програм ће поново позвати функцију Ацтивити_Ентри_Форм. Будући да смо вредност променљивих параметара већ поставили на нулу (за податке који недостају) или на вредност одговарајуће $ _ПОСТ променљиве, спремни смо да их проследимо позивом функције.

иф ($ еррор_мессаге == "да")
{
Ацтивити_Ентри_Форм ($ пасс_ацт_титле, $ пасс_ацт_десц,
$ пасс_ацт_монтх_1, $ пасс_ацт_даи_1, $ пасс_ацт_иеар_1,
$ пасс_ацт_хоур_1, $ пасс_ацт_монтх_2, $ пасс_ацт_даи_2,
$ пасс_ацт_иеар_2, $ пасс_ацт_хоур_2, $ пасс_ацт_статус);
}
елсе {обради податке даље}
Белешка--Стрела означава да је код умотан у другу линију и заиста би требао бити сав у једној линији.

Следећи корак ће бити прилагођавање функцији Ацтивити_Ентри_Форм за обраду нове поруке о грешци.

Напомена - Сврха овог водича је изградња програма календара за личне активности за личну употребу и подучавање основама ПХП и МиСКЛ база података. Нисам укључио никакве безбедносне функције као што је спречавање злонамерних улазних података. То би учинило овај туториал превише компликованим за почетнике. Ако сте креирали програм за веб, желели бисте да укључите такву безбедност у свој програмски код.