![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 12.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam pytanie odnośnie formularzy w ZF. Po pierwsze chciałbym zrobić wyszukiwarkę, więc tworzę sobie formularz w Zend_Form. Jako, iż chciałbym zrobić dodatkowo paginację chcę przekazywać parametry w adresie: Bootstrap $wyszukiwarkaRoute = new Zend_Controller_Router_Route('/wyszukiwarka/:page/:stanowisko/:branze/:wojewodztwo/:dlugosc', array('controller'=>'index', 'action'=>'wyszukiwarka', 'page'=>'1')); $router->addRoute('wyszukiwarka', $wyszukiwarkaRoute); Teraz trzeba w Zend_Form dać method GET i tu pojawia się kilka problemów, m. in: - URL - chciałbym, aby URL był w formie tak jak powyżej, jest zaś: ?stanowisko=&branza=all&wojewodztwo=all&dlugosc=all&csrf_token=XXX&submit=sercz i tak dalej setaction mam puste, bowiem nie mam pomysłu jak można dodać tam URL, aby pobierał parametry z formularza w klasie formularza i wrzucał go tam. - zawartość inputów i list przy GET. W POST wartości wprowadzone przez użytkownika w przypadku błędów w wypełnieniu formularza pozostają, w przypadku GET formularz za każdym razem jest czyszczony. ->setValue() nie mam zdefiniowanego, bowiem tutaj też nie mam pomysłu jak w klasie formularza to pobrać. Można robić na około i tworzyć formularz przekazując mu jakieś wartości, ale podejrzewam, że jest prostsza droga, aby to osiągnąć. Bardzo chętnie posłucham porad i wskazówek. Dziękuję, Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 1 Dołączył: 24.04.2007 Skąd: wwa Ostrzeżenie: (0%) ![]() ![]() |
co do opcji którą chcesz uzyskać masz dwa podejścia, jedno z js drugie bez
pierwsza opcja polega na obsłużeniu za pomocą skryptu js akcji onsubmit dla formularza i zwyczajnie zebrać parametry do kupy i przekierować przeglądarke z poziomu uzytkownika druga opcja to zdefiniować adres na który ma zostać wysłany (vide akcja index controller'a jest całkiem rozsądnym wyjściem, ew. akcja w kontrolerze wyszukiwania jeżeli taki zdefiniowałeś) i tam przeprocesować request definując potem przekierowanie na właściwy adres polecam drugie podejście ze względu bezpieczeństwa jakoze możesz sobie dodatkowo zwalidować wejście aby nie dopuscić do włamania, z poziomu js nie masz takiej mozliwości (pozostaje ci walidacja po stronie akcji wyszukiwarka czy parametry przypadkiem nie rozwalą ci wyszukania) odnosnie implementacji to jest tyle pomysłów co programistów jednak cały pomysł jest całkiem prosty ps. formularze wysyłane GET'em zawsze tak sklejają parametry w urlu ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:53 |