⊗ppPmRdSWP 407 of 447 menu

Ինքնավերահղում GET պարամետրերի ավելացմամբ PHP-ում

Ենթադրենք index.php էջում փոխանցվում է GET պարամետր arg անունով: Եկեք արտածենք դրա պարունակությունը էկրանին.

<?php echo $_GET['arg']; ?>

Ենթադրենք, մեր էջը չի կարող ճիշտ աշխատել առանց GET պարամետրի: Մեր դեպքում դա իսկապես այդպես է, քանի որ, եթե պարամետրը չի փոխանցվել, ապա $_GET['arg']-ին դիմելը կհանգեցնի սխալի:

Կարող է հարց առաջանալ՝ ինչպե՞ս ընդհանրապես մարդ կհայտնվի մեր էջում առանց պարամետրի: Ի վերջո, մենք կարող ենք մեր կայքում ամենուր տեղադրել հղումներ այս պարամետրով: Սակայն սա երաշխիք չէ. մեր կայքի օգտատերը կարող է, օրինակ, պատճենել հղումը ինչ-որ տեղից և կորցնել դա պարամետրը: Կամ պարզապես պատահականորեն ջնջել այն, խմբագրելով հասցեի տողը:

Ընդհանրապես, ցանկացած դեպքում մեր կոդը պետք է նախատեսի նման իրավիճակ և ինչ-որ բան անի դրա հետ: Ի՞նչ կարելի է անել:

Կարելի է ստուգել մեր GET պարամետրի գոյությունը և արտածել այն, միայն եթե այն գոյություն ունի.

<?php if (isset($_GET['arg'])) { echo $_GET['arg']; } else { // ինչ-որ կերպ արձագանքում ենք, օրինակ՝ հաղորդագրությամբ } ?>

Կարելի է գործել ավելի խորամանկ.

<?php if (!isset($_GET['arg'])) { $_GET['arg'] = 'default'; // լռելյայն արժեք } echo $_GET['arg']; // երաշխավորված է, որ ինչ-որ բան կարտածի առանց սխալի ?>

Կամ կարելի է անել այնպես, որ էջ մուտք գործելու դեպքում առանց պարամետրի տեղի ունենա վերահղում նույն էջ՝ պարամետրով.

<?php if (!isset($_GET['arg'])) { header('Location: ?arg=default'); } echo $_GET['arg']; // պարամետրը երաշխավորված է ?>

Պատմեք, թե ինչով է տարբերվում երկրորդ տարբերակը երրորդից:

Ենթադրենք page.php էջում կարելի է փոխանցել թիվ GET պարամետրի միջոցով num անունով: Կատարեք այնպես, որ երբ մուտք գործվի առանց այդ պարամետրի, ավտոմատ կատարվի վերահղում դեպի նույն էջը, բայց num պարամետրով 1 արժեքով:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել