Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF] Postowanie do tej samej strony, poczatkujacy
matchor
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 1.05.2005

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


Witam

Robie sobie formularz ktory ma postowac do samego siebie

localohost/public/register

mam wiec widok w /views/scripts/register index.phtml w ktorym jest formularz:
  1.  
  2. <style type="text/css">
  3. #registerForm div label{width:150px; color: red; display: inline-block; text-align: right;}
  4.  
  5. <form action="" id="registerForm" method="post">
  6. <div>
  7. <label>test</label>
  8. <input type="text" />
  9. </div>
  10. <div>
  11. <input type="submit" value="SEND"/>
  12. </div>
  13. </form>
  14.  


zalezy mi na tym zeby formularz postowal do tej samej strony ale w momencie kiedy dane postowane beda ok wykona jakas akcje i wyswietli jakis komunika - inny widok nie formularz


wiec stworzylem sobie nowy widok w /views/scripts/register sendOk.phtml


wiec w kontrolerze RegisterController mam

  1. if($_POST['coscos']){
  2. //wykonaj jakies akcje na danych z formularza i wyswietl nowy widok
  3.  
  4. $this->setAction('/register/sendOk.phtml')
  5. }



$this->setAction('/register/sendOk.phtml') oczywiscie nie dziala - ale zalezy mi zeby w przypadku gdy sa postowane dane wyswietlic na stronie /register czyli tam gdzie normalnie ciagniety jest kontroler RegisterController i widok /register/index.phtml wyswietlic zawartosc widoku registerOk.phtml, ewentualnie przekierowac na kontrollere registerokController natomiast zeby wciaz pozostac na stronie URL /register


da sie tak zrobic ?

czy musze zrobic w widoku w register.phtml duzego ifa na tresc dla niePosta i dla Posta
Go to the top of the page
+Quote Post
parfienczyk
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 1.07.2009

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


do przekierowania po wykonanej akcji ( rejestracja/wysylanie mejla) uzyj $this->_redirect('/twoj/nowy/url')

  1. if($_POST['coscos']){
  2.  
  3. //wykonaj jakies akcje na danych z formularza i wyswietl nowy widok
  4.  
  5. $this->_redirect('/register/sendOk.phtml');
  6. }
Go to the top of the page
+Quote Post
buliq
post
Post #3





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


  1. if($this->_request->getPost('coscos')){
  2.  
  3. //wykonaj jakies akcje na danych z formularza i wyswietl nowy widok
  4.  
  5. $this->_redirect('/register/');
  6. }


Nie spotkałem się z wpisywaniem nazwy formy podczas przekierowania. Mogę się mylić ale raczej jest to błędem. Autora odsyłam do dobrego tutoriala ZF Zend Framework Tutorial - Samouczek | Heavymind. . Przewodnik po Zend Framework: Okienko logowania, czyli jak użyć Zend_Auth - INTERNET maker w tym natomiast opisano działanie z formularzem logowania. Powinno pomóc
Go to the top of the page
+Quote Post
matchor
post
Post #4





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 1.05.2005

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


ale
$this->_redirect
przekieruje mnie na nowa strone z localhost/public/register na localhost/public/register/costam - ew. gdzies indziej - a ja zawsze chce byc na tej na ktorej jest formularz tylko wyswietlic zamist niego cos innego
Go to the top of the page
+Quote Post
seth-kk
post
Post #5





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

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


skoro inny widok to
  1. $this->render();

w controllerze
do komunikatow na ogol wystarcza flashMessenger
Go to the top of the page
+Quote Post
chlebik
post
Post #6





Grupa: Zarejestrowani
Postów: 113
Pomógł: 5
Dołączył: 12.09.2006
Skąd: Pruszków/Warszawa

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


Ewentualnie mozesz dac:

  1. $this->_forward( AKCJA, KONTROLER ); // Kiedy drugi parametr jest pusty stosowany jest obecny kontroler


Ta metoda "przechodzi" wraz z calym bagazem zainicjalizowanych zmiennych do akcji wskazanej jako parametry. W ten sposob chocby powinno sie renderowac strony bledow - dzieki temu mamy wciaz referencje do obiektu wyjatku.
Go to the top of the page
+Quote Post

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: 16.09.2025 - 04:35