⊗ppPmRdIns 405 of 447 menu

Trenutni preusmeravanja u PHP

Preusmeravanje izvršeno pomoću funkcije header ne dešava se u trenutku pozivanja te funkcije. Na kraju krajeva, PHP sam ne vrši preusmeravanje, već samo šalje odgovarajući HTTP zaglavlje u pregledač.

To znači da će se preusmeravanje desiti samo kada PHP izvrši celu skriptu do kraja. Zbog toga mogu nastati razni neželjeni efekti.

Na primer, u sledećem kodu želimo da izvršimo ili preusmeravanje, ili upit ka bazi. Ali upit ka bazi će se izvršiti čak i ako je bila komanda za preusmeravanje:

<?php if ($_GET['test']) { header('Location: test.php'); } $query = "UPDATE users SET changed=1 WHERE id=1"; mysqli_query($link, $query); // izvršiće se čak i pri preusmeravanju! ?>

Da bi se izbegli slični problemi potrebno je neposredno nakon preusmeravanja pozvati funkciju die, koja će trenutno prekinuti izvršavanje skripte i preusmeravanje će se desiti odmah:

<?php if ($_GET['test']) { header('Location: test.php'); die(); } $query = "UPDATE users SET changed=1 WHERE id=1"; mysqli_query($link, $query); ?>

Reprodukujte neki neželjeni efekt u vašem kodu. Zatim ga ispravite pomoću funkcije die.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij