Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyświetlanie komunikatów dla użytkownika
croc
post
Post #1





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


Dość dawno tu nie pisałem, więc witam ponownie smile.gif

Interesuje mnie jak rozwiązujecie sprawę wyświetlania komunikatów dla użytkowników. Mam na myśli sytuacje, gdy ktoś się zaloguje/wyloguje, doda jakiś wpis w CMS czy wykona jakąkolwiek akcję. Osobiście uwielbiam widzieć komunikat, że coś udało się zrobić - daje to taki komfort psychiczny smile.gif Nie lubię, gdy po wysłaniu formularza nie wiadomo czy cokolwiek się stało.

Mam na myśli komunikat w postaci ramki jak np. tutaj: http://ising.pl/?wylogowano=1

No właśnie. Kiedyś też stosowałem zmienne GET przekazujące informację o tym, żeby wyświetlić dany komunikat. Jest to skuteczne, ale nieco kłopotliwe.

Innym rozwiązaniem jest ustawienie po prostu zmiennej z treścią komunikatu po wykonaniu akcji. Niektórzy tak robią, ale to jest fatalny błąd wg mnie, bo każdą akcję powinno się kończyć przekierowaniem, by zapobiec odświeżeniu i tym samym wykonaniu akcji ponownie (to oczywiste, ale nie każdy o tym pamięta).

Ja ostatnio stosuję przechowywanie komunikatów w sesji, co jest bardzo wygodne. Mam dwie metody: jedna zapisujące komunikat, a druga odczytuje i zaraz po tym usuwa zmienną z pamięci. Sposób ten w użyciu jest bardzo wygodny (tylko set i get w dowolnym momencie, w międzyczasie może pojawić się nawet 10 przekierowań, a i tak komunikat przetrwa i nie troszczymy się o linki), ale czy jest to mądre, by przechowywać taką informację w sesji? Jak Wy to rozwiązujecie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
cycofiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Ja robię tak że podczas wykonywania właściwego skryptu wszelkie komunikaty dodaję jako kolejny element tablicy, z zaznaczeniem jaki to typ komunikatu. Następnie już podczas generowania htmla, wykonuję w danym miejscu funkcję zamieniającą tę tablicę na odpowiedni kod html.
Dla przekierowań , taką tablicę zapisuję do sesji którą to następnie kasuję na końcu skryptu (po wyświetleniu jej).
Go to the top of the page
+Quote Post
croc
post
Post #3





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


Czyli z sesją robisz podobnie jak ja, tylko ja to upakowałem w ładną klasę.

W jakich przypadkach wkładasz to bezpośrednio do kodu, bez przekierowań?
Go to the top of the page
+Quote Post
cycofiasz
post
Post #4





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


W większości przypadków w których ponowne wykonanie akcji nie będzie możliwe nie stosuję zbędnego przekierowania (usuwanie wpisu, oznaczanie).
Go to the top of the page
+Quote Post
croc
post
Post #5





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


Rozumiem. Jeśli używasz do tego metody POST, to nie lubię po odświeżeniu być informowany o wysyłaniu danych. Jeśli GET, to po takim np. usunięciu czegoś lubię widzieć czysty link (przekierowanie). smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 14:09