Autor | Zpráva | ||
---|---|---|---|
blahapet Profil |
#1 · Zasláno: 15. 5. 2020, 05:59:36
Ahoj, řeším malý problémek. Mám knihu návštěv, kde po vložení příspěvku uživatele přesměrovávám na jinou stránku a hlášku před tím uložím do SESSION:
<?php .. ... ... $_SESSION["msg"] = "Váš příspěvek byl přidán"; header('Location: /navratova-stranka'); ... ... ... ?> A teď v souboru navratova-stranka.php vypisuji hlášku: <?php if(!empty($_SESSION['msg'])): ?> <p class="msgf"><?php echo $_SESSION['msg']; ?></p> <?php unset($_SESSION['msg']); endif; ?> Jenže ta hláška se nezobrazí, jedině když zakomentuji řádek s unset(). Prostě tu hlášku chci zobrazit a vzápětí odstranit ze session. Předem díky. |
||
Taps Profil |
blahapet:
lepší je použít isset a mít na předmětné stránce session_start(); <?php if(isset($_SESSION['msg'])){?> <p class="msgf"><?= $_SESSION['msg']; ?></p> <? unset($_SESSION['msg']); } ?> |
||
Tomášeek Profil |
#3 · Zasláno: 15. 5. 2020, 10:21:20
Taps:
„lepší je použít isset“ Proč myslíš? |
||
mckay Profil |
Tomášeek:
„Proč myslíš?“ IMO proto, že smyslem je zjistit, jestli je ta session proměnná nastavená a ne jestli obsahuje prázdnou (nebo za prázdnou považovanou, hodnotu). Osobně mi tam přijde isset lepší hlavně proto, že o pár řádků níže potom provádí unset .
|
||
Tomášeek Profil |
#5 · Zasláno: 15. 5. 2020, 10:57:05
mckay:
Tak pokud tu hodnotu chci vypsat, tak mě zajímá asi její hodnota. Vypsat prázdný info box nedává moc smysl. Nicméně jako rada k uvedenému dotazu to není validní, nic to neřeší - svým dotazem jsem narážel zejména na toto. Je to jen jiná forma podmínky, která má v uvedeném případě stejný výsledek. |
||
Serg Profil |
blahapet:
Tak jestli to po zakomentování unsetu funguje, tak mě napadá, jestli se ta stránka nemůže načíst třeba 2x nebo tak něco? Ta návratová stránka jinak funguje? Není třeba jen testovací na tu hlášku - takže když se nezobrazí nic, tak to vypadá, že se jen nevypsala ta hláška, ale ve skutečnosti je tam třeba nějaká chyba a vypnuté zobrazování chyb? I když v tomhle kódu nevidím nic, co by mohlo způsobit Fatal error. Můžeš zkusit dát ještě exit za přesměrovávací header, a kouknout, jestli někde není navíc include na navratovou-stranku.php Btw, co se stane, když místo unsetu dáš něco jako $_SESSION['msg'] = "[Info msg was already deleted]"; |
||
blahapet Profil |
#7 · Zasláno: 16. 5. 2020, 07:03:42
Serg:
„Můžeš zkusit dát ještě exit za přesměrovávací header“ Ano, tím to bylo. Moc děkuji všem, to by mne nenapadlo. |
||
Časová prodleva: 4 roky
|
0