⊗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 за неиспразност. Ако $_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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј