⊗ppPmRdIns 405 of 447 menu

Ridrektimi i Menjëhershëm në PHP

Ridrektimi i kryer duke përdorur funksionin header nuk ndodh në momentin e thirrjes së këtij funksioni. Në fund të fundit, PHP vetë nuk kryen ridrektim, por thjesht dërgon header-in përkatës HTTP në shfletues.

Kjo do të thotë që ridrektimi do të ndodhë vetëm kur PHP të ketë ekzekutuar të gjithë skriptën deri në fund. Për shkak të kësaj mund të ndodhin efekte të ndryshme parazitare.

Për shembull, në kodin vijues ne duam të kryejmë ose një ridrektim, ose një kërkesë në bazën e të dhënave. Por kërkesa në bazën e të dhënave do të ekzekutohet edhe nëse ka pasur urdhër për ridrektim:

<?php if ($_GET['test']) { header('Location: test.php'); } $query = "UPDATE users SET changed=1 WHERE id=1"; mysqli_query($link, $query); // do të ekzekutohet edhe me ridrektim! ?>

Për të shmangur probleme të tilla, duhet që menjëherë pas ridrektimit të thirret funksioni die, i cili do të përfundojë menjëherë ekzekutimin e skriptës dhe ridrektimi do të ndodhë menjëherë:

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

Riprodhni ndonjë efekt parazitar në kodin tuaj. Pastaj korrigjojeni atë duke përdorur funksionin die.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo