Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] routing-zamiana adresu z duzych na male znaki
janek9
post
Post #1





Grupa: Zarejestrowani
Postów: 121
Pomógł: 2
Dołączył: 22.03.2009

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


Witajcie,

Czy jest mozliwosc, aby np wpisany adres z duzych liter przekonwertowac poprzez routing do malych? Jezeli tak to w gdzie i w ktorym miejscu trzeba to ustawic.

Ten post edytował janek9 25.08.2009, 10:44:20
Go to the top of the page
+Quote Post
Ravv
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.02.2006

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


Hmm, nie czaję - przecież wpisanie np. HTTP://WORTAL.PHP.PL w przeglądarce spowoduje iż sama zamieni adres na małe litery...

Sprecyzuj o co Ci chodzi (IMG:style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post
janek9
post
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 2
Dołączył: 22.03.2009

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


Cytat(Ravv @ 25.08.2009, 12:18:25 ) *
Hmm, nie czaję - przecież wpisanie np. HTTP://WORTAL.PHP.PL w przeglądarce spowoduje iż sama zamieni adres na małe litery...

Sprecyzuj o co Ci chodzi (IMG:style_emoticons/default/smile.gif) .


a wiec tak: w akcji pobiera mi nazwe uzytkownika w profilu np. nazwaportalu.pl/user/lolek. I gdy wpisze nazwaportalu.pl/user/LOLEK wowczas to nie jest to samo. Wowczas powoduje mi to ze samego siebie mozna dodac do znajomych bo mam tak to zaprogramowane. W akcji pobiera z requesta np. 'login' i ta wartosc wedruje do modelu gdzie jest porownywana. Czyli z tego wynika ze lolek a LOLEK to nie jest to samo. Dlatego chcialbym wiedziec czy w routingu idzie takie cos ustawic, aby obojetnie co sie wpisze ustawialo zamiast LOLEK na lolek...
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Możesz ustawić w routingu, żeby Ci nie traktował LOLKA jak lolka (użyj requirements), ale jeśli chcesz konwertować, to proponuję jakiś filtr przed odpaleniem akcji. Ja mam zawsze jeden filtr o nazwie setupFilter, w którym dodatkowo konfiguruję aplikację.

Pozdrawiam
Go to the top of the page
+Quote Post
Ravv
post
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.02.2006

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


Nie możesz w akcji po pobraniu loginu użyć na zmiennej 'login' funkcji $login = strtolower( $request->getParameter('login') )?

PS.
Jeżeli rozpoznajesz użytkownika po loginie (a nie np. po id) to pole 'login' w bazie powinno mieć dodatkowo atrybut UNIQUE (no wiadomo, ale tak napiszę dla przypomnienia (IMG:style_emoticons/default/winksmiley.jpg) )...
poza tym zapoznaj się z sfPropelRoute i $this->getObject() w akcji, może Ci conieco przyspieszyć projektowanie (IMG:style_emoticons/default/winksmiley.jpg) .

Ten post edytował Ravv 25.08.2009, 11:44:27
Go to the top of the page
+Quote Post
janek9
post
Post #6





Grupa: Zarejestrowani
Postów: 121
Pomógł: 2
Dołączył: 22.03.2009

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


Dobra jezeli chce w requirements ustawic, zeby tylko byly male znaki..jak to napisac w requirements?
Go to the top of the page
+Quote Post
BigB
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 28.07.2009

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


Poczytaj o wyrażeniach regularnych, może to coś Ci pomoże. Ale nie wiem, czemu chcesz ograniczać usera i zabraniać mu podawania wielkich liter. Po prostu przy pobieraniu z bazy, parametr z requesta zamieniaj na małe znaki.

Ale jest też druga sprawa. Pomyślałeś o tym, że jeśli ktoś będzie miał konto LoLeK, a Ty wszystko bedziesz zamieniał na małe litery (a w bazie będą mieszane), to co wtedy? Nie znajdzie usera. Chyba, że z poziomu zapytania do bazy zamienisz też te pobierane dane na małe litery, ale nie wiem czy tak się da.
Go to the top of the page
+Quote Post
Pr0100
post
Post #8





Grupa: Zarejestrowani
Postów: 114
Pomógł: 24
Dołączył: 18.01.2008
Skąd: Warszawa

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


Cytat
Ale jest też druga sprawa. Pomyślałeś o tym, że jeśli ktoś będzie miał konto LoLeK, a Ty wszystko bedziesz zamieniał na małe litery (a w bazie będą mieszane), to co wtedy? Nie znajdzie usera. Chyba, że z poziomu zapytania do bazy zamienisz też te pobierane dane na małe litery, ale nie wiem czy tak się da.


a jeżeli będzie miał w nicku "/"? (IMG:style_emoticons/default/smile.gif) Do tego się używa slugów
Go to the top of the page
+Quote Post
janek9
post
Post #9





Grupa: Zarejestrowani
Postów: 121
Pomógł: 2
Dołączył: 22.03.2009

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


No macie racje, ze nie znajdzie sie usera przy filtrowaniu nazwy..Ale nie wiem jak to zrobic, zeby zarowno Lolek byl traktowany tak samo jak LOLEK, albo LoLEk itp. Dzieki sfWidgetPropelUnique traktuje mi jako jeden i ten sam login, natomiast w przy pobieraniu tego parametru z requesta juz tak nie jest i traktuje te nazwy oddzielnie czyli jak oddzielnych userow.

Cytat(Pr0100 @ 27.08.2009, 22:53:52 ) *
a jeżeli będzie miał w nicku "/"? (IMG:style_emoticons/default/smile.gif) Do tego się używa slugów


nie nie, ja ustawilem dozwolone znaki w nicku tak zeby pasowalo czyli pozbylem sie znakow specjalnych i tylko: litery(bez polskich), cyfry, myslnik i znak podkreslenia. Takze tutaj jest ok.
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: 22.08.2025 - 13:09