⊗ppPmFmOFH 299 of 447 menu

Обраштање форме у једној фајлу PHP

У претходној лекцији наша форма је била постављена на једној страници, а слата на другу. У ствари то није неопходно. Ако оставите атрибут action празан или га потпуно уклоните, онда ће форма бити послата на исту страницу.

Како ће то радити: при првом доласку на страницу попунићемо форму подацима и кликнућемо на дугме. Након тога страница ће се освежити и њен код ће се поново извршити, али сада са подацима форме.

Хајде да погледамо на примеру. Нека имамо у једном фајлу форму и њену обраду:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

При првом доласку на страницу функција var_dump исписаће празан низ. А после слања форме исписаће већ податке форме. То значи први пут $_GET ће бити празан, а други пут - садржаће податке форме.

Ово може довести до проблема. Рецимо, на пример, да у форму уносимо бројеве и желимо да испишемо збир тих бројева на екран:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

У овом случају при првом доласку на страницу видећемо грешке PHP, повезане са тим што је низ $_GET празан, а ми приступамо његовим елементима.

Овде треба рећи да код вас грешке можда и неће да се појаве у прегледачу. У том случају проверите да ли је укључено исписивање грешака PHP, као и да ли сте први пут на страници и да ли у адресној траци нема података форме.

Хајде да исправимо проблем. За то ћемо додати услов, у којем ћемо проверавати да ли је форма послата.

На пример, можемо проверавати $_GET на испуњеност. Ако $_GET није празан - онда је форма послата и можемо извршити сабирање. У супротном смо још на првом доласку на страницу и сабирање неће бити извршено. Дакле, ево исправљеног кода:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Питајте корисника за презиме, име и име оца. Након слања форме испишите на екран унесене податке.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј