⊗ppPmRdIns 405 of 447 menu

Lencongan Segera dalam PHP

Lencongan yang dilakukan menggunakan fungsi header tidak berlaku pada masa fungsi itu dipanggil. Ini kerana PHP sendiri tidak melaksanakan lencongan, ia hanya menghantar pengepala HTTP yang sesuai ke pelayar.

Ini bermakna lencongan hanya akan berlaku apabila PHP telah melaksanakan keseluruhan skrip sehingga habis. Disebabkan ini, pelbagai kesan sampingan yang tidak diingini boleh berlaku.

Sebagai contoh, dalam kod berikut kita mahu melaksanakan sama ada lencongan, atau permintaan ke pangkalan data. Tetapi permintaan ke pangkalan data akan tetap dilaksanakan walaupun ada arahan untuk lencongan:

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

Untuk mengelakkan masalah seperti ini, kita perlu selepas lencongan memanggil fungsi die, yang akan serta-merta menamatkan pelaksanaan skrip dan lencongan akan berlaku segera:

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

Hasilkan semula sebarang kesan sampingan dalam kod anda. Kemudian betulkannya dengan menggunakan fungsi die.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak