Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]jaka metoda działania różnych przyciskow akcji
Forum PHP.pl > Forum > Przedszkole
siemieng
Witam, zastanawiam się jak najlepiej rozwiązać sytuacje w której potrzebuję wykonać serie przycisków akcji dla każdego z elementów na liście,

czyli np:

1. nazwa elementu nr1 | usun | edytuj | aktywuj | zapisz
2. nazwa elementu nr2 | usun | edytuj | aktywuj | zapisz
3. nazwa elementu nr3 | usun | edytuj | aktywuj | zapisz
itd...


Jaką wybrać metodę do przesyłania informacji o wybranym elemencie (id, rodzaj, nazwa, itd) oraz wybranej akcji (usun, edytuj, aktywuj, zapisz)questionmark.gif?

Zastanawiam się na zwykłym formularzem, raczej serią formularzy (osobno dla każdego elementu), tyle ze wykorzystanie POST powoduje denerwujące komunikaty w przypadku próby cofnięcia akcji, a i jak sądzę nie jest to zbyt optymalne rozwiązanie.

Innym rozwiązaniem nad którym się zastanawiam jest wykorzystanie sesji?questionmark.gif?

Bo rozwiązanie z GET i przesyłaniem danych w linku, odrzucam z powodu jawności, bo musiał bym pokazać formułę według której postępuję, czyli np: domena.pl/?action=del&id=12&name=nazwa_elementu wtedy dociekliwi użytkownicy mogliby łatwo bawić się i spowodować bałagan.

Jakie jest wasze zdanie?questionmark.gif? którą metodę najlepiej użyć, czy zupełnie coś innego?questionmark.gifquestionmark.gifquestionmark.gif Proszę o rady, pozdrawiam:)
dr_bonzo
Cytat
Bo rozwiązanie z GET i przesyłaniem danych w linku, odrzucam z powodu jawności, bo musiał bym pokazać formułę według której postępuję, czyli np: domena.pl/?action=del&id=12&name=nazwa_elementu wtedy dociekliwi użytkownicy mogliby łatwo bawić się i spowodować bałagan.

ROTFL + LOL i LMAO do 3ciej potegi.

1. a gdzie masz autoryzacje?
2. sprawdzenie czy user moze usunac
3. czemu nie uzyc POST'a, postem usuwasz + redirect znow na liste
4. sesje? a co jak user otworzy sobie 2 obiekty do edycji?
5. przekazuj ID - po to zostalo przeciez stworzone, nazwa tylkod do SEO sie przydaje - ale tylko do pokazywania obiektow a nie edycji
zbig
Witam!

Zrob sobie formularz z hiddenField

  1. <form id="myForm" action="" method="post">
  2. <input type="hidden" name="id" id="myId"/>
  3. </form>


nastepnie maly skrypt js

  1. <script type ="text/javascript">
  2. function submitForm(action,recordId){
  3. document.getElementById('myForm').action = action;
  4. document.getElementById('myId').value= recordId;
  5. document.getElementById('myForm').submit();
  6.  
  7. }


i nastepnie do przyciskow dodaj

  1. <a href="javascript:void(0)" onclick="submitForm("usun.php","idRecordu")">usun</a>
  2. <a href="javascript:void(0)" onclick="submitForm("edytuj.php","idRecordu")">edytuj</a>
  3. <a href="javascript:void(0)" onclick="submitForm("aktywuj .php","idRecordu")">aktywuj </a>
  4. <a href="javascript:void(0)" onclick="submitForm("zapisz.php","idRecordu")">zapisz</a>


A zeby uniknac komunikatu o odswiezeniu zrob tak jak proponuje dr_bonzo

Cytat
3. czemu nie uzyc POST'a, postem usuwasz + redirect znow na liste


To jedna z kilku mozliwosci

Pozdrawiam
Crozin
Żebyś tylko nie zrobił czegoś tak głupiego jak @zbig pisze. Swoją droga... danymi z POST można tak samo łatwo manipulować jak z GET.

dr_bonzo wyczerpał temat.
zbig
@Crozin czy moglbys w dwoch slowach opisac na czym polegaja twoje watpliwosci ?
Cytat
Żebyś tylko nie zrobił czegoś tak głupiego jak @zbig pisze.


Chyba nie musialem rozpisywac sie o uzyciu ACL w plikach do ktorych prowadzi akcja bo dla mnie bylo to zrozumiale somo przez sie

Pozdrawiam
Crozin
Użycie JS do tak podstawowej funkcjonalności, co w dodatku można zastąpić zwykłym formularzem.
planet
metoda dr_bonzo to najlepsze rozwiązanie + odpowiednia autoryzacja, tyle.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.