![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pisze mały panel admina od jakiegoś czasu, ciągle coś zmieniam, ulepszam i chyba mniej więcej mam to co sobie zaplanowałem i chciałbym zapytać bardziej doświadczonych ludzi czy to dobre rozwiązanie.
Chodzi o wyświetlanie komunikatów podczas dodania, edycji itd, także o puste pola itp. Tak więc mam powiedzmy link.php i w niej mam odpowiedni formularz, z niego dane przesyłane są transact.php i tam przetwarzane, sprawdzanie czy poprawnie zostało wszystko wypełnione itd i w zależności od powodzenia operacji i przesyłam spowrotem getem id komunikatu jaki powinien wyświetlić się w tym wypadku na link.php <-- odpowiednią funkcję sobie napisałem do tego bo chciałem taki system wykorzystać do każdej podstrony. np report_l=1,2, a później to rozbijam na odp komunikaty i wyświetlam je. Skrócony przykład funkcji:
i przykład strony transakcji:
Sorry za lekki chaos w tym ![]() Z góry dzieki! Ten post edytował nait 15.09.2011, 14:25:44 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja do komunikatów (tzw flash'y) korzystam z sesji. Po wykonaniu jakiejś akcji komunikat dodaję do tablicy komunikatów. Wykonuję tak wszystkie akcje, niezbędne przekierowania, etc. Na finalnej stronie pobieram komunikaty i wyświetlam (z odpowiednim kolorowaniem), a przy tym usuwam z sesji.
W ten sposób nie przekazuję tego jawnie poprzez $_GET, nie wyświetla się nic podwójnie po odświeżeniu strony, nikt nikomu psikusa nie zrobi wysyłając spreparowany link, który wyświetli stronę stwierdzającą poprawne usunięcie konta w systemie. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
W sumie genialne
![]() A np. mam zrobione, że po kliknięciu na link czy tam button pojawia się formularz edycji, dodania itd sprawdzam czy w $_GET'cie jest dana zmienna np link=a i pokazuje formularz, czy link=d&id=1 pyta o potwierdzenie usunięcia rekordu. Takie rzeczy też lepiej zastąpić zmiennymi sesyjnymi czy w tych przypadkach to raczej bez różnicy? Jak Wy to rozwiązujecie? ![]() Ten post edytował nait 15.09.2011, 18:10:19 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzasz przy takim ustaleniu linków do usuwania (link=d&id=1) czy użytkownik ma odpowiednie prawa? Bo jak nie, to wiesz, jeden skrypt i jest czysto
![]() Jeśli usuwasz przez formularz, to usuwaj operując na $_POST, moim zdaniem adresy (zmienne $_GET) powinny służyć nawigacji. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zn w moim przypadku będzie tylko 1 użytkownik, admin więc chyba nie ma co sprawdzać i takie rozwiązanie chyba jest jak najbardziej ok? A tak z ciekawości jak w tym przypadku można by sprawdzać prawa?;p
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz tylko jednego użytkownika to uprawnień nie musisz sprawdzać, wystarczy, że sprawdzisz czy jest zalogowany.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok rozumiem. Ale nawiązując do tego co pisałeś żeby $_GET'a używać tylko do nawigacji to jak to załatwić postem, mianowicie:
Mam tam wiersze rekordów z bazy i w nich odnośniki do edycji np. link=e&id=1 - jak to $_POST'em załatwić? Spekuluje że: sprawdzić jaki input został wciśnięty i ew hiddenami dodatkowe potrzebne dane po przesyłać do posta tak? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 17.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
jakiego wzorca używasz ?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
yyy żadnego. Nie pisze tego obiektowo bo obiektówki dopiero się uczę. Piszę tak dla siebie w celu utrwalenia wiedzy
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 02:25 |