Autor Zpráva
quatzael
Profil
Měl jsem udělané přihlašování, tak aby se dalo přihlásit z jakékoliv podstránky a po přihlášení, aby se uživateli zobrazila opět stránka, ze které se přihlásil. Ale teď mi to nějak záhadně přestalo fungovat.
Řešil jsem tak, že jsem si přes formulář zároveň odeslal i aktuální url pomocí $_SERVER['PHP_SELF'] a pak jsem si ještě takhle odmazal "index.php":

$url = str_replace("index.php", "", $url);

Včera mi to přestalo fungovat (psalo mi to, že prohlížeč nemůže zobrazit stránku) tak jsem si s tím zkoušel trochu hrát, nic jsem nevymyslel a dneska mi to zase začalo fungovat s tím původním řešením, který včera nefungovalo.

Nevíte někdo co se stalo?? A co vlastně přesně vrací $_SERVER['PHP_SELF'], mě se zdálo, že relativní adresu, kterou můžu kdykoliv použít pro: header("Location: $url"); i očištěnou o ten index.php, tedy že zbyde akorát / (lomítko)



ještě doplním, že včera mi tu chybu způsoboval právě jen řádek s příkazem:
$url = str_replace("index.php", "", $url);

když jsem ho dal pryč, tak to fungovalo, akorát se ta adresa zobrazovala i s tím nechtěným "index.php"..
dneska to jede i s tímhle řádkem..

zvláštní..
Alphard
Profil
quatzael:
A co vlastně přesně vrací $_SERVER['PHP_SELF']
Jak píše manuál The filename of the currently executing script, relative to the document root.
Pro location to použít lze (i když dle manuálu by se měla dodávat absolutní adresa). Otázka je, jestli s ohledem na zachování dalších parametrů a případné používání mod rewrite není lepší REQUEST_URI. To vám vůbec nevrátí index.php, není-li v url, byť je to hlavní soubor pro zpracování (a vrátí ho PHP_SELF jako filename), ale uvede skutečnou aktuální adresu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: