⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан