Програма за лични дейности - Липсващи данни от формуляр в PHP програма
Досега в програмата на календара за лични дейности сме написали кода за възможността уеб формулярът за въвеждане на активност все още да не е изпратен ($ _POST ['изпрати'] е празен). В такъв случай програмата ще инициализира променливите до нула точно преди повикването на функцията, което ще покаже формата в уеб браузъра за първи път. Сега ще кодираме възможността формулярът да бъде изпратен ($ _POST ['submit'] не е празен). В такъв случай има две възможности за следващата стъпка.
  1. Ако формулярът е изпратен и потребителят не е предоставил всички необходими данни, програмата ще покаже формата в уеб браузъра заедно със съобщение за грешка.

  2. Ако формулярът е бил изпратен и необходимите данни не липсват, програмата ще обработва данните и ще ги изпрати в базата данни.
Нека да работим върху първия вариант. Как ще тестваме дали има липсващи данни? Първо трябва да решим кои данни се изискват и кои не са задължителни. За тази проста календарна програма единствените задължителни данни са заглавието на дейността и началният час / дата. Останалите полета за въвеждане в уеб формата не са задължителни. Това са петте задължителни полета за въвеждане на данни в уеб формата и шестте незадължителни.
длъжен

act_title
act_month_1
act_day_1
act_year_1
act_hour_1
по избор

act_desc
act_month_2
act_day_2
act_year_2
act_hour_2
act_status

Първата ни стъпка е да използваме командата PHP if, за да тестваме липсващи данни за всяко от задължителните и незадължителни полета за въвеждане. Също така ще създадем променлива, наречена $ error_message и първоначално ще зададем стойността на не, Ако има липсващи данни, променливата ще бъде настроена на да, Ето първия раздел на кода.

$ error_message = "не";

ако (празна ($ _ POST [ 'act_title']))
{
$ error_message = "да";
$ pass_act_title = "";
}
else {$ pass_act_title = $ _POST ['act_title']; }


if (празно ($ _ POST ['act_desc'])) {$ pass_act_desc = ""; }
else {$ pass_act_desc = $ _POST ['act_desc']; }
. . .
. . .

Какво прави този код? Програмата първо ще зададе променливата $ error_message на не, След това ще тества всяко от единадесетте полета за въвеждане на данни, предадени от формата. В горния код тестваме първите две променливи act_title и act_desc. Целият код обаче ще тества и за останалите 9 променливи. Има три възможни резултата.

  1. Ако програмата срещне липсващи данни от a длъжен поле за въвеждане (act_title), то ще зададе съответната променлива на параметър на нула и променливата $ error_message на да.

  2. Ако програмата срещне липсващи данни от по избор поле за данни (act_desc), то ще зададе променливата на параметъра на нула, но не задайте $ error_message на да.

  3. Ако данни за поле за въвеждане не липсват, той ще изпълни оператора else. Той ще зададе променливата на параметъра на стойността на съответната променлива $ _POST [''] и променливата $ error_message ще не да бъдат засегнати.
Ако програмата го направи чрез теста за всички единадесет $ _POST променливи и променливата $ error_message все още е настроена на не, това казва на програмата, че не липсват необходимите данни. В този случай данните ще бъдат обработени допълнително и ще бъдат предадени на базата данни. Ако обаче променливата $ error_message е зададена да, това означава, че поне в едно задължително поле има липсващи данни. Програмата ще извика отново Activity_Entry_Form функцията. Тъй като вече сме задали стойността на променливите на параметъра на нула (за липсващи данни) или на стойността на съответната променлива $ _POST, ние сме готови да ги предадем с повикването на функцията.

ако ($ error_message == "да")
{
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 {обработвайте данни допълнително}
Забележка--Стрелата показва, че кодът е увит във втори ред и наистина трябва да бъде целият на един ред.

Следващата стъпка ще бъде да направите корекции във функцията Activity_Entry_Form, за да се справите с новото съобщение за грешка.

Забележка - Целта на този урок е да изгради програма за лични календари за лична употреба и да научи основите на PHP и MySQL бази данни. Не съм включил никакви функции за защита като предотвратяване на злонамерени входни данни. Това би направило този урок твърде сложен за начинаещия. Ако създавате програма за мрежата, бихте искали да включите такава сигурност в програмния си код.







Инструкции Видео: 215th Knowledge Seekers Workshop - Mar 15, 2018 (Април 2024).