Autor Zpráva
xaverista
Profil
Zdravím,

Chtěl bych se zeptat na nějaké vhodné řešení pro zobrazování notifikací. Potřeboval bych aby když uživatel něco provede na jedné stránce, přesměruje ho to na druhou stranu, kde se také zobrazí notifikace... Notifikace v podobě toastr Toastr

Dejme tomu že je uživatel na stránce login.php úspěšně se přihlásí a přesměruje ho na index.php a vypíše mu notifikaci úspěšně přihlášen...

Nebo uživatel podá ticket na stránce add.php odešle ho, zapíše vše do databáze a přesměruje ho na sránku view.php kde se mu vypíše notifikace zda byl ticket úspěšně či neúspěšně odeslán...

Díky za rady... Xaverista
marizikmund
Profil
Můžeš tu informaci uložit třeba do session, dát jí platnost pár vteřin, a na další stránce zjišťovat, jestli je něco v session uloženo a podle toho upravit výpis.

Pro inspiraci řešení v Nette: https://www.youtube.com/watch?v=wsaPIG6kvlo
xROAL
Profil
Stretol som sa s označením flashdata.

Princíp je jednoduchý - uložím do $_SESSION položku, napr. $_SESSION['flashdata_notification'] = 'Text notifikácie';, na ďalšej stránke potom kontrolujem, či v session mám nejaké 'flashdata_*' položky, ak hej, zobrazím ich a rovno ich aj vymažem (takže sa nezobrazia znovu).
Keeehi
Profil
Jen je problém, že pokud ve dvou oknech procesu nějakou akcí tak tak notifikace pro jedno okno se pak může zobrazit v tom druhém. Takže je to potřeba rozlišovat v URL. To znamená nepřesměrovávat z add.php na view.php ale na view.php?notifikace=*náhodný hash*. Tím se pak dají ta okna od sebe rozlišit. Samozřejmě je potřeba si ten hash zapamatovat v session společně s tou notifikací. U výše zmiňovaného nette se ten parametr v URL nejmenuje notifikace jako to mám já ale defaultně to je _fid. A taky se ta notifikace nemaže hned ale až po 3 vteřinách. To kdyby si uživatel náhodou hned obnovil stránku tak aby se mu to zobrazilo i napodruhé. Ale to už není nutnost.
xaverista
Profil
Díky všem za pomoc ;-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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