⊗ppPmRdIns 405 of 447 menu

Omedelbar omdirigering i PHP

En omdirigering som utförs med funktionen header sker inte i det ögonblick denna funktion anropas. Det beror på att PHP självt inte utför omdirigeringen, utan skickar bara motsvarande HTTP-huvud till webbläsaren.

Det betyder att omdirigeringen bara kommer att ske när PHP har kört hela skriptet till slutet. På grund av detta kan olika parasitära effekter uppstå.

Till exempel, i följande kod vill vi antingen utföra en omdirigering eller en databasförfrågan. Men databasförfrågan kommer att utföras även om det fanns en kommando för omdirigering:

<?php if ($_GET['test']) { header('Location: test.php'); } $query = "UPDATE users SET changed=1 WHERE id=1"; mysqli_query($link, $query); // kommer att utföras även vid omdirigering! ?>

För att undvika sådana problem behöver du efter omdirigeringen omedelbart anropa funktionen die, som omedelbart avslutar skriptkörningen och omdirigeringen sker omedelbart:

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

Återskapa någon parasitisk effekt i din kod. Åtgärda sedan den med funktionen die.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa