Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> komunikaty o wykonanych akcjach w skrypcie.
acztery
post 31.10.2008, 14:35:05
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

Ostrzeżenie: (0%)
-----


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.?
Go to the top of the page
+Quote Post
empathon
post 31.10.2008, 14:40:07
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 31
Dołączył: 13.11.2006
Skąd: się znamy?

Ostrzeżenie: (0%)
-----


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).


--------------------
Goldenline: Łukasz Rodziewicz
Go to the top of the page
+Quote Post
acztery
post 31.10.2008, 14:42:12
Post #3





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

Ostrzeżenie: (0%)
-----


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/

Ten post edytował acztery 31.10.2008, 14:53:31
Go to the top of the page
+Quote Post
empathon
post 31.10.2008, 14:53:42
Post #4





Grupa: Zarejestrowani
Postów: 246
Pomógł: 31
Dołączył: 13.11.2006
Skąd: się znamy?

Ostrzeżenie: (0%)
-----


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


--------------------
Goldenline: Łukasz Rodziewicz
Go to the top of the page
+Quote Post
acztery
post 31.10.2008, 14:55:15
Post #5





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
empathon
post 31.10.2008, 15:00:41
Post #6





Grupa: Zarejestrowani
Postów: 246
Pomógł: 31
Dołączył: 13.11.2006
Skąd: się znamy?

Ostrzeżenie: (0%)
-----


http://framework.zend.com/manual/en/zend.c...ionhelpers.html


--------------------
Goldenline: Łukasz Rodziewicz
Go to the top of the page
+Quote Post
Sabistik
post 31.10.2008, 16:20:55
Post #7


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


w ZF jest do tego właśnie FlashMessenger z wygaśnięciem sesji po jednym hopie ;p

Ten post edytował Sabistik 31.10.2008, 16:21:29
Go to the top of the page
+Quote Post
acztery
post 31.10.2008, 19:49:32
Post #8





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

Ostrzeżenie: (0%)
-----


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ć

Ten post edytował acztery 1.11.2008, 18:06:52
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 15:17