Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql][php] przyjazne linki
radziowie
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 1.11.2010

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


Postanowiłem stworzyć przyjazne linki i w tym celu korzystam z 3 linijek kodu:

  1. $text = strtr($link, 'ąćęłńóśżźĄĆĘŁŃÓŚŻŹ', 'acelnoszzACELNOSZZ');
  2. $text = preg_replace('/[^a-zA-Z0-9-_]/', '-', $text);
  3. $text = preg_replace('/-+/', '-', $text);


gdzie zmienna $link jest tytułem który ma być zmieniony. To działa. Problem jest w tym, że tworzę
  1. function zmien_link() {
  2. $text = strtr($link, 'ąćęłńóśżźĄĆĘŁŃÓŚŻŹ', 'acelnoszzACELNOSZZ');
  3. $text = preg_replace('/[^a-zA-Z0-9-_]/', '-', $text);
  4. $text = preg_replace('/-+/', '-', $text);
  5. }

I teraz gdy w danym momencie chce wywołać funkcje zmien_link() to nie nwyświetla mi danych to znaczy zamiast wywołać adres tytul-newsa,1.html wyświetla ,1.html. Czym może to być spowodowane?
Go to the top of the page
+Quote Post
mat-bi
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


A dlaczego funckja nie przyjmuje parametrów i nic nie zwraca?
Go to the top of the page
+Quote Post
radziowie
post
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 1.11.2010

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


Właśnie nie wiem a funkcja zapisana jest w osobnym pliku, który jest załączany na początku kodu strony. Nie mam pojęcia dlaczego
Go to the top of the page
+Quote Post
mat-bi
post
Post #4





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


Po prostu, jeśli funckja ma nic nie zwracać, musisz zrobić globalną zmienną global
Go to the top of the page
+Quote Post
radziowie
post
Post #5





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 1.11.2010

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


dodałem do funkcji global $link; ale i to nic nie dało
Go to the top of the page
+Quote Post
mat-bi
post
Post #6





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


Sory, ale ty coś tam myślisz? Przecież tekst jest w zmiennej $text, nie $link
Go to the top of the page
+Quote Post
radziowie
post
Post #7





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 1.11.2010

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


Mam funkcje
  1. function zmien_link() {
  2. global $text;
  3. $text = strtr($link, 'ąćęłńóśżźĄĆĘŁŃÓŚŻŹ', 'acelnoszzACELNOSZZ');
  4. $text = preg_replace('/[^a-zA-Z0-9-_]/', '-', $text);
  5. $text = preg_replace('/-+/', '-', $text);
  6. }

Zmienna text jest ustalana na podstawie zmiennej link więc chyba dobrze mam. Po za tym zmieniłem globalną na text i to samo ;/

Ten post edytował radziowie 16.03.2011, 20:06:49
Go to the top of the page
+Quote Post
bigbadcompany
post
Post #8





Grupa: Zarejestrowani
Postów: 57
Pomógł: 2
Dołączył: 16.09.2010
Skąd: Uć

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


Dodałbym tam jeszcze MB_CASE_LOWER żeby wszystkie litery zmieniało ci na małe wygląda estetyczniej. Co do problemu to przyjrzałbym się co masz wpisane w htaccessie może tam tkwi problem. Poza tym całkiem niedawno sam walczyłem z przyjaznymi linkami. Sprawdź najpierw inne funkcje dopasowując je pod swoje potrzeby może wtedy namierzysz błąd.
Go to the top of the page
+Quote Post
radziowie
post
Post #9





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 1.11.2010

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


Temat do zamknięcia. Dzięki wszystkim (IMG:style_emoticons/default/smile.gif) Zastanawia mnie tylko jedna rzecz. Dlaczego np. ż zamienia mi na z natomiast ą lub ś nie zamienia już na a bądź s

Ten post edytował radziowie 16.03.2011, 21:22:41
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 - 14:27