⊗ppPmRdSWP 407 of 447 menu

Самопрерасување со додавање параметри во 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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј