Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: komunikaty o wykonanych akcjach w skrypcie.
Forum PHP.pl > Forum > PHP
acztery
Hej, mam raczej taki logiczny mały kłopot.

Mam np. akcję która usuwa rekord z bazy po usunieciu przenoszę użytkownika na lista gdzie może dalej sobie usuwać rekordy. Tylko ze chce pokazac użytkownikowi komunikat, że rekord został skasowany. Tylko niechce nic przekazywac w GET

Myślałem zeby w sesji zapisac ze ma sie pokazac komunikat po 5 sek. sesja wygasa

wtedy user zostanie przekierowany na liste rekordów i widzi komunikat pozniej juz nie. Ale czy to dobre rozwiązanie.?
empathon
Przekierowanie jest średnim pomysłem. Jak najbardziej możesz wykorzystać sesje, tylko pokaż komunikat na stronie listy (możesz go potem ukryć js'em po 5 sekundach).
acztery
właśnie tak robie. Tylko szukam jak ładnie to ukryć w Dojo, bo korzystam z ZF.

edit.

przekierowanie zły pomysł? jak nie przekieruje to w adresie user bedzie widzial caly czas np: index.php?FOR=2&ACT=del a ma widziec index.php

np.

index.php - lista rekordów
index.php?FOR=2&ACT=del - uruchomimy akcje do usuwania po usunieciu chce dla bezpieczenstwa przekierowac na index.php nie przekazujac zadnych parametrów w GET.

moze troszkę kodu aby niebyło niedomówien

  1. <?php
  2. class PostController extends Zend_Controller_Action{
  3.  
  4.  
  5. // .......
  6.    function deleteAction()
  7.    {
  8.        $post = new Post();
  9.        if ($this->_request->getParam('id') <> '')
  10.        {
  11.            $post->delete("Id = '".$this->_request->getParam('id')."' AND UserTo = '".$_SESSION['SES_SID']['InloginId']."'");
  12.        }
  13.        $this->_redirect('/post/basket');            
  14.    }
  15.  
  16. // .......
  17.  
  18. }
  19. ?>


aby wywołać akcje nazwa.pl/post/delete/id/1/ po wykonaniu ma wrócić (musi) na nazwa.pl/post/basket/
empathon
Z tego co zrozumiałem chcesz wyświetlić komunikat na odzielnej stronie i po chwili przekierować, tak?

Jest to złe z wielu wględów:
  • nie potrzebny request do aplikacji
  • beznadziejne usability
acztery
nie nie chce

mam np lista rekordów usuwam 1 i na tej samej stronie mamy komunikat o tym co sie stało ale w adresie nie moze byc zadnych parametrów.
Sabistik
w ZF jest do tego właśnie FlashMessenger z wygaśnięciem sesji po jednym hopie ;p
acztery
super o to chodziło. Nie musze tego sam pisać.

dzięki wszystkim

Hej jeszcze raz, A by nie tworzyć nowego tematu.

mam np coś takiego
  1. <?php
  2. function basketAction()
  3.    {
  4.        $post = new Post();
  5.        $post->_userId = $_SESSION['SES_SID']['InloginId'];
  6.        $post->_typId = 'K';
  7.        $this->view->list_message = $post->listMessage();
  8.        
  9. // jak tu wyswetlić komunikat
  10.  
  11.    }
  12.    
  13.    function deleteAction()
  14.    {
  15.        $post = new Post();
  16.        if ($this->_request->getParam('id') <> '')
  17.        {
  18.        $post->delete("Id = '".$this->_request->getParam('id')."' AND UserTo = '".$_SESSION['SES_SID']['InloginId']."'");
  19.        }
  20.        $flashMessenger = $this->_helper->getHelper('FlashMessenger');
  21.                                $flashMessenger->addMessage('Rekord usunięty');
  22.        $this->_redirect('/post/basket');            
  23.    }
  24. ?>


ale coś nie tak jak to powinno wydlądac pomoże ktoś.. dzieki

i takie pytanka. czy dobrze przypisuje komunikat błędu i jak go wyśwetlić
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.