Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Komunikaty zwrotne na strone główną
Agape
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
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:
  1. $messages = array(
  2. [0] => array( 'ok', 'Coś się powiodło' ),
  3. [1] => array( 'err', 'Coś spaprałeś' ),
  4. [2] => array( 'inf', 'Tutaj możesz zrobić to, albo to')
  5. );
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
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 08:28