Autor | Zpráva | ||
---|---|---|---|
Han Profil |
#1 · Zasláno: 21. 11. 2011, 16:04:47
Zdravím, mám taký problém a to že keď mám takýto kód na localhoste:
session_start(); if (!isset ($_SESSION["hesla"])) { if (isset($_POST['odoslat'])) { $heslo= $_POST['heslo']; session_register("hesla"); $_SESSION["hesla"]= $heslo; if ($_SESSION["hesla"]=="hesielko") { header("Location: spravne.php"); } } } else {header("Location: index.php");} Tak mi to pekne spracuje a po zadaní správneho hesla presmeruje na index.php, no keď toto spustím na ostrom serveri tak mi to po odoslaní formuláru hádže chyby ako Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by... Tak sa pýtam kde je problém a ako to opraviť? Ďakujem. ;) |
||
Han Profil |
#2 · Zasláno: 21. 11. 2011, 17:56:29
Už viem v čom to je, no neviem ako obnovím/presmerujem stránku ak nie cez header ("Location: ").
|
||
panther Profil |
#3 · Zasláno: 21. 11. 2011, 17:59:33 · Upravil/a: panther
Han:
„neviem ako obnovím/presmerujem stránku ak nie cez header“ přesměrování přes header je správně.
„Už viem v čom to je“ pravděpodobně jsi zjistil, že přes přesměrováním a session_start() nesmí být žádný výstup. Přesuň tedy zpracování PHP před další výstupy.
session_register je deprecated. |
||
Majkl578 Profil |
#4 · Zasláno: 21. 11. 2011, 18:10:33
Řešení je i ve FAQ. Pokud to na lokálním serveru jde a na ostrém ne, pravděpodobně půjde o BOM nebo něco podobného.
panther: „session_register je deprecated.“ Tahle funkce je ve verzi 5.4. definitivně odstraněna. |
||
Han Profil |
#5 · Zasláno: 21. 11. 2011, 18:23:05 · Upravil/a: Han
panther:
A ako to dosiahnem, keď mám header na includovanej stránke a include mám až za hlavičkou a html tagmi v dive? Respektíve.. Mám includovanú stránku a v nej mám mám logo, nadpis a obsah ktorý (zas) includujem. A po splnení podmienky v tomto obsahu potrebujem refeshnúť stránku. Potom ale nexápem prečo mi to ide na localhoste a nie na ostrom serveri... |
||
Dixie Profil |
#6 · Zasláno: 23. 11. 2011, 21:49:00 · Upravil/a: Dixie
měl jsem stejný problém!
Vyřešil jsem ho tak, že jsem do Location: vložil kompletní URL A refreshnout stránku můžeš meta tagem: echo "<meta http-equiv='refresh' content='0;URL=soubor.php'>"; možná by šlo stejným metatagem stránku přesměrovat. Nezkoušel jsem to, ale za pokus to myslím stojí. |
||
Han Profil |
#7 · Zasláno: 23. 11. 2011, 21:53:44 · Upravil/a: Han
No áno, škoda že ten metatag mi ju bude refreshovať donekonečna (či?). Potreboval by som nejaký spôsob že keď sa mi naplní podmienka na konci súboru tak sa mi niečo vypíše na jeho začiatku ale to je taký nonsens že až.
|
||
Časová prodleva: 12 let
|
0