ugrás a tartalomhoz

header(Location: változóval, és session változó átadása

Mikulasche · 2013. Okt. 23. (Sze), 14.59
Ez nem kérdés, csak leírom a tapasztaltakat.
Mert leírva sehol nem volt és magamtól kellett két nap kínszenvedés, próbálkozás után rájönnöm.

Egy form-al elküldtem adatokat egy feldolgozo.php -nak ami azt rendben fel is dolgozta.
Az eredményt betettem $_SESSION[eredmeny], majd header location vitte vissza oda ahonnan a form el lett küldve.

Ahonnan a form el van küldve, az mindíg más hely lehet, mert a form includolva van egy csomó oldalba.
Ezért lekértem a form elküldése előtt az URI-t -

$_SESSION['innen_jott'] = $_SERVER['SCRIPT_URI']

és a visszairányításnál
header("Location: $_SESSION[innenjott]"); /aposztróf kihagy!/
szépen vissza is küldte.

De a visszaküldésnél a $_SESSION[eredmeny] csak akkor jött át,
ha másodszor küldtem el a formot.
Az első elküldésnél semmi nem jött vissza.

Sokáig tartott míg ezer próbálkozással rájöttem, hogy

$_SESSION['innen_jott'] = $_SERVER['SCRIPT_URL']

a jó megoldás.

Vissza is küld, és ott a $_SESSION[eredmeny] is.

A $_SESSION['innen_jott'] = $_SERVER['SCRIPT_URI'] - teljes útvonalat ad
A $_SESSION['innen_jott'] = $_SERVER['SCRIPT_URL'] - a domain utáni teljes útvonalat.

Csak leírom ezt, hátha valaha valakinek hasonló problémája lenne, pláne kezdőnek - mint én vagyok.