⊗ppPmRdIns 405 of 447 menu

Реддиректи фаврӣ дар PHP

Реддирект, ки бо функсияи header иҷро шудааст, дар лаҳзаи даъвати ин функсия рӯй намедиҳад. Зеро PHP худ реддиректро иҷро намекунад, балки танҳо сарлавҳаи HTTP-и мувофиқро ба браузер мефиристад.

Ин маънои онро дорад, ки реддирект танҳо вақте рӯй хоҳад дод, ки PHP тамоми скриптро то поён иҷро кунад. Сабаби ин метавонад гузариши ҳар хел таъсири паразитӣ бошад.

Барои намуна, дар коди зерин мо мехоҳем ё реддиректро иҷро кунем, ё дархост ба пойгоҳи додаҳо. Аммо дархост ба пойгоҳи додаҳо ҳатто агар дастури реддирект вуҷуд дошта бошад иҷро мешавад:

<?php if ($_GET['test']) { header('Location: test.php'); } $query = "UPDATE users SET changed=1 WHERE id=1"; mysqli_query($link, $query); // ҳатто дар ҳолати реддирект иҷро мешавад! ?>

Барои пешгирии чунин мушкилот, зарур аст ки фавран пас аз реддирект функсияи die даъват шавад, ки иҷрои скриптро фавран хотима медиҳад ва реддирект ҳамон лаҳза рӯй хоҳад дод:

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

Дар коди худ як таъсири паразитии мисолӣ созед. Сипас онро бо ёрии функсияи die ислоҳ кунед.

Тоҷикӣ
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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан