![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 13 Dołączył: 16.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Rzecz banalna i potrafię ją zrobić tylko jak? Chodzi mi o komunikaty zwrotne typu:
nie prawidłowe hasło pomyślne zalogowanie haslo zostało wysłane na e-mail produkt został dodany do koszyka / usuniety z koszyka Można to zrobić prosto (i zarazem pewnie źle) przesyłając komunikat przez post/get na strone główną, ale dzięki temu ktoś może spreparować link wstrzykując swoją treść na strone główną. Można też zrobić listę komunikatów, ale skoro jest z parenaście komunikatów czy takie rozwiązanie jest optymalne ? i jak przesyłać komunikaty ? np adres.pl?komunikat=45 (czyli np "pomyslnie zalogowano"), wtedy tez teoretycznie ktoś może spreparować link, tylko ze bardzo nie wiele mu to da, a gdy jeszcze komunikaty są przez post przesylane... Nie mam obeznania w tym jakie techniki się stosuje dlatego to pytanie jak najlepiej to zrobić. Druga opcja brzmi rozsądnie ale chce się upewnić zamiast stosować "złe" praktyki Ten post edytował Agape 3.03.2010, 09:33:56 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To może ja powiem jak z kolei ja implementuję swoje rozwiązanie w oparciu o tablicę. Najczęściej to wykorzystuje przy formularzach, ale nie musi to być tylko tak stosowane. Mianowicie mam sobie stronę na której wykonuję różne akcje. Na początku kodu Tworzę sobie tablicę $messages jako pustą. w razie zrobienia czegoś co ma być sygnalizowane dodaję do niej element o 2 polach: typie oraz komunikacie. Typ definiuje mi stopień "błędu" może to być tylko informacja, może być komunikat błędu, albo wiadomość o powodzeniu czegoś. W efekcie moja struktura wyglądać może mniej więcej tak:
I na sam koniec oczywiście podczas wyświetlania te dane ujawniam. A w sytuacji gdy jest to część walidacji, zliczam wszystkie tablice z polem 'err' i jeśli jest choć jedno - zgłaszam błąd formularza oraz oddaje go do poprawki (IMG:style_emoticons/default/smile.gif) Problem niby z przesłaniem tego poza obręb jednej, konkretnej strony? Ależ skąd! Od czego mamy sesje? Puszczamy tę tablicę w sesję i na innej stronie tylko wyświetlamy komunikaty, jednocześnie ową tablicę czyszcząc by komunikaty nie były pamiętane (no chyba, że chcesz je pokazywać cały czas). Przydatne w sesji gdyż uniezależniasz się od tablicy w obrębie jednego pliku i na dodatek możesz przesłać więcej niż 1 komunikat jak ma to miejsce w przypadku komunikatu poprzez id (IMG:style_emoticons/default/smile.gif) Wystarczy, że każda strona serwisu implementuje wyświetlanie komunikatów z sesji i masz po prostu bajkę. Rzucasz do tej tablicy jakie chcesz komunikaty userowi, a nie tylko z góry zdefiniowane. Jeśli wiesz, że taki moduł w serwisie już masz, to piszesz tylko używając jego metod na zasadzie addError( $string), addInfo( $string ) czy addOk( $string). W ten sposób możesz przepychać przykładowo informacje o wylogowywaniu, zalogowaniu, błędach walidacji, polach informacyjnych czy co tylko Ci się zamarzy. A zrobienie z tego fajnej klasy do obsługi komunikatów w całym serwisie jest całkiem wygodne pod katem rozwojowym. Z czasem możesz to przecież rozszerzać do własnych potrzeb Kto powiedział, że masz mieć tylko 3 rodzaje komunikatów (info, error, ok) ? Ten post edytował thek 3.03.2010, 14:43:52 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 08:28 |