⊗ppPmRdIns 405 of 447 menu

Kohene ümbersuunamine PHP-s

Ümbersuunamine, mis on tehtud funktsiooniga header, ei toimu selle funktsiooni väljakutsumise hetkel. Sest PHP ise ei täida ümbersuunamist, vaid saadab vastava HTTP päise brauserisse.

See tähendab, et ümbersuunamine toimub alles siis, kui PHP on täitnud kogu skripti lõpuni. Selle tõttu võivad esineda erinevad parasiitefektid.

Näiteks järgmises koodis tahame teha kas ümbersuunamise või andmebaasipäringu. Kuid andmebaasipäring tehakse isegi siis, kui oli käsk ümbersuunamiseks:

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

Selliste probleemide vältimiseks tuleb kohe pärast ümbersuunamist välja kutsuda funktsioon die, mis koheselt lõpetab skripti täitmise ja ümbersuunamine toimub kohe:

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

Reprodutseerige mingi parasiitne efekt oma koodis. Seejärel parandage see funktsiooni die abil.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu