![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 29.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Piszę projekt w CI jednym z elementów projektu będzie wyszukiwarka (chciałbym aby działała na zasadzie get) czyli np /main/szukaj/slowo/ a klasycznym php wystarczylo by method="GET" input type="text" name="keyword" i submit (i w adresie url by bylo keyword=cos) nastepnie rewrite i jest szukaj/cos) - z tego nic nie wynika zwroci main/szukaj/?keyword=slowo Czyli podsumowując wpisując na stronie głownej kontroler (main) słowo X w wyszukiwarke chciałbym mieć wyniki w postaci /szukaj/x/ (w url) Dziękuje. nie mam pomysłu jak rozwiązać ten problem w CI.... Ten post edytował Que 9.12.2007, 16:10:09 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W akcji która przyjmuje dane z formularza zrób przekierowanie do innej akcji, jako parametr w URL wstawiając szukaną frazę pobraną z POST.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 1 Dołączył: 23.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak się nie da, ponieważ wówczas w url będą niedozwolone znaki (gdy ktoś będzie szukał czegoś np. ze znakami diakrytycznymi).
CI nie obsługuje niestety formularzy przesyłanych przez GET i trzeba to obejść. Ja bym to rozwiązał tak (tak działa szukajka na forum CodeIgnitera): kontroler zapisuje zapytanie oraz hash zapytania do bazy i przekierowuje na stronę z wynikami, gdzie parametrem jest hash. Czego należy szukać musisz najpierw pobrać z bazy po hashu. Dodatkowo można wtedy łatwo dopisać najpopularniejsze zapytania ;-) |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
i męczyc bazę? Nie wydaje mi się... urldecode" title="Zobacz w manualu PHP" target="_manual i urlencode" title="Zobacz w manualu PHP" target="_manual
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Tak się nie da, ponieważ wówczas w url będą niedozwolone znaki (gdy ktoś będzie szukał czegoś np. ze znakami diakrytycznymi). pewnie ze sie da ![]() -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 19.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam , też ostatnio chciałem zrobić taką wyszukiwarkę i dokładnie ten sam problem , szukałem w necie ze dwa dni i kicha, jedno podpowiem na pewno trzeba iść droga POST , taka szukajka jest też na smog.pl i obsługuje polskie znaki jak widać postem śle coś takiego
Doszedłem do wniosku, że w httacces trzeba napisać aby przechwyć tą zmienną z posta i dać redirect pod dowolny url z tą zmienną na polskie krzaki wystarczy dać (.*) a później urla odfiltrować już w phpie dla bezpieczeństwa oczywiście ale niestety nie potrafię napisać tej reguły choć myślę że tak powinno wyglądać rozwiązanie. Ten post edytował reegen 17.12.2007, 01:12:23 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:16 |