⊗ppPmRdIns 405 of 447 menu

Upaguzi wa Mara moja katika PHP

Upaguzi, uliotekelezwa kwa kutumia kitendo header haufanyiki wakati wa wito wa kitendo hicho. Kwani PHP yenyewe haitekelezi upaguzi, bali hupeleka tu kichwa (header) cha HTTP kinachofaa kwenye kivinjari.

Hii inamaanisha kuwa upaguzi utafanyika tu wakati PHP itakapomaliza kutekeleza skripti yote hadi mwisho. Kwa sababu hii, athari mbali mbali zisizotakiwa zinaweza kutokea.

Kwa mfano, katika msimbo unaofuata tunataka kutekeleza ama upaguzi, ama ombi kwa hifadhidata. Lakini ombi kwa hifadhidata litatekelezwa hata kama kulikuwa na amri ya upaguzi:

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

Ili kuepuka matatizo kama haya, hitaji baada ya upaguzi tu, kuita kitendo die, ambacho kitamaliza utekelezaji wa skripti mara moja na upaguzi utafanyika papo hapo:

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

Tengeneza athari yoyote isiyotakiwa katika msimbo wako. Kisha uitengenezee kwa kutumia kitendo die.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa