⊗ppPmRdSWP 407 of 447 menu

PHPде параметрлерди кошуу менен өз-өзүнө кайта багыттоо

index.php баракчасына arg деген аты менен GET параметри жөнөтүлсүн. Анын мазмунун экранга чыгаралы:

<?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 баракчасына num деген ат менен GET параметри аркылуу сан жөнөтсө болот деп коёлу. Бул параметрсиз киргенде, автоматтык түрдө ушул эле баракчага, бирок num параметринин мааниси 1 болгон абалда, кайта багыттоо болушун түзүңүз.

Кыргызча
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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу