ugrás a tartalomhoz

Miért fut le az átirányítás után lévő kód?

titanium · 2014. Okt. 11. (Szo), 00.22
Sziasztok!

Van egy főoldal, melybe 2 másikat include-olok. Az első vizsgálja, hogy a usernek joga van-e azon az URL-en tartózkodni, amelyikre lépett, ha nem, elnavigálja máshova. A második betölti a védett oldalt. Egy példa a problémámra: tegyük fel, hogy az URL admin/adminisztratorok/torles/pistike. Az első include-olt oldal megvizsgálja, hogy védett oldalra mutat-e az URL, mivel igen, átirányítja pl. a login oldalra. A második betöltené a kódot, ami törli az adatbázisból pistikét, de mivel korábban már átirányítottam a felhasználót a bejelentkező oldalra, ennek nem kéne lefutnia. Viszont mégis lefut.

Összegezve: a user átkerül a loginra, de a törlőkód mégis lefut, pedig az átirányítás hamarabb megtörtént. Ezt meg tudja vki magyarázni?
 
1

Hmm, sima exitelés

titanium · 2014. Okt. 11. (Szo), 01.48
Hmm, sima exitelés megoldotta. Csak azért volt furcsa, mert ilyennel még nem találkoztam :)
2

Redirect

janoszen · 2014. Okt. 11. (Szo), 10.08
Azert, mert az atiranyitas csak egy HTTP fejlec. Az atiranyitassal, noha nem kerul megjelenitesre, tudsz oldalt kiszolgalni. Ugyanugy mint minden statuszkoddal.

Egyebkent ha szeretnel jobb, robusztusabb kodot irni, ajanlom ezt az iromanyomat.
3

Output

tacsiazuma · 2014. Okt. 13. (H), 15.25
Igen, header után ajánlatos exitelni, hogy biztosan ne fusson le az utána levő kód. A header valóban HTTP fejléc és hibaüzenetet ír ki (szerintem nálad is csak az error_display lehet nem megy a warningokra), ha előtte volt bármiféle output php-től. Ob_start()-al a kódod legelején is rápróbálnék exit nélkül, mert lehet UTF-8 BOM problémád is van (hacsak nem szándékosan Te írattál ki előtte).