⊗ppPmRdIns 405 of 447 menu

Umiddelbar omdirigering i PHP

En omdirigering utført med funksjonen header skjer ikke i øyeblikket denne funksjonen kalles. Tross alt utfører PHP selv ikke omdirigeringen, men sender kun tilsvarende HTTP-header til nettleseren.

Dette betyr at omdirigeringen bare vil skje når PHP har kjørt hele skriptet til slutten. På grunn av dette kan det oppstå forskjellige uønskede effekter.

For eksempel, i følgende kode ønsker vi å utføre enten en omdirigering eller en databaseforespørsel. Men databaseforespørselen vil bli utført selv om det var en kommando for omdirigering:

<?php if ($_GET['test']) { header('Location: test.php'); } $query = "UPDATE users SET changed=1 WHERE id=1"; mysqli_query($link, $query); // vil utføres selv ved omdirigering! ?>

For å unngå slike problemer må du umiddelbart etter omdirigeringen kalle funksjonen die, som umiddelbart avslutter skriptkjøringen og omdirigeringen vil skje øyeblikkelig:

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

Reproduser en uønsket effekt i koden din. Deretter rett den opp ved hjelp av funksjonen die.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis