Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [symfony] Przesłanie danych metodą POST z Action do Aciton
kaniagandzowski
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 2.06.2006

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


Witam

Mam Symfony 1.1 i problem z przesłaniem danych pochodzących z formularza do następnej Akcji.
Mianowicie, gdy formularz jest submitowany to wywołuje stronę www.sss.pl/submit na której dane przechodzą walidacje i gdy przejdą chce przekazać na inną strone te dane z formularza poprzez POST

Ale nie wiem jak w symfony zrobić aby mógł przekazać dalej dane pochodzące z formularza z jednej akcji do następnej akcji (z strony www.sss.pl/submit do www.sss.pl/finish).



Kod ten
  1. <?php
  2. $this->objForm->getValues()
  3. ?>
zwraca dane z formularza w postaci array i te dane bym chciał przekazać na inna stronę (inna akcje) przez POST.

Symfony posiada możliwość pojedyncze dodawanie wartości
  1. <?php
  2. $this->getRequest()->setParameter($name, $value);
  3. ?>

ale ja posiadam tablice z wartościami i nie chce sie bawic w reczne dodawanie tylko chce cała tablice przekazać i naj lepiej przez metody symfony ale szukałem i nie znalazłem jakoś (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Kod poniższy prześle dane przez GET a ja chce przez POST

  1. <?php
  2. public function executeIndex($request)
  3. {
  4. $this->objForm = new GeneratorForm( );
  5. $this->objForm->setUslugiOpcje( $this->getDane_Lokal() );
  6.  
  7. if ( $this->getRequest()->isMethod('post') )
  8. {
  9. $this->objForm->bind( $this->getRequest()->getParameter('contact'), $request->getFiles('contact') );
  10. if ( $this->objForm->isValid() )
  11. { 
  12. $this->dispatcher =  $this->objForm->getValues();
  13.  $this->redirect('test/finish?'.http_build_query( $this->objForm->getValues() ),'post=true');
  14. }
  15. }
  16. echo '<pre>';
  17.  // print_r ($this->objForm->getErrorSchema()->getErrors() );
  18. foreach ($this->objForm->getErrorSchema() as $sError) { 
  19. echo '<li>'.($sError).'</li>';}
  20.  
  21. echo '</pre>';
  22. }
  23. ?>


Ten kod poprostu przekazuje dane z formularza poprzez GET


http://localhost/sss/web/frontend_dev.php/...odstawoe//opis/

Ten post edytował kaniagandzowski 31.07.2008, 21:46:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kaniagandzowski
post
Post #2





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 2.06.2006

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


No tego nie wiedziałem.

Ale jest problem tego typu gdy użytkownik odświeży stronę to znowu pojawi się formularz a nie strona wyświetlana po przesłaniu danych z formularza (strona wyświetlająca dane z formularza). Takie zachowanie z kilku względów jest nie pożądane dla mnie.

Wiem że w symfony jest zmienne (flash), która służy do jednego razowego użycia ale nie podoba mi się to szczerze.

Kurna szukałem w symfony dokumentacji API ale nic nie znalazłem. Bardzo bym chciał żeby jednak była możliwość przeniesienie tych danych z formularza na inna stronę (inna akcje), której póżniej bym mógł te dane wydobywać tak jak na poprzedniej stronie tzn.
  1. <?php
  2. $this->getRequest()->getParameter('imie');
  3. ?>


W sumie symfony ma możliwość pojedyczo przesyłania danych
  1. <?php
  2. $this->getRequest()->setParameter($name, $value);
  3. ?>

Ale nie znalazłem metody której bym mógł przekazać tablice z wartościami abym sie nie musiał bawić w jakieś ręczne dodawanie.
Go to the top of the page
+Quote Post
mike
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(kaniagandzowski @ 1.08.2008, 11:58:04 ) *
Wiem że w symfony jest zmienne (flash), która służy do jednego razowego użycia ale nie podoba mi się to szczerze.
No to już Twój problem. Mechanizm flash został stworzony do tego czego własnie potrzebujesz.
Podobne rzeczy są również w innych framwerokach. Jesli Ci się nie podoba to kombinuj dalej, nie rozumie tylko dlaczego odrzucasz dedykowane do tego rozwiązanie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 20:07