![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 2.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
witam
zrobilem sobie regulki w htaccess i teraz mam ladne urle, ale wtedy oczywiscie powstaje problem z pobieraniem danych przez GETa jak bylo: http://strona.pl/show.php?id=3 to id mozna bylo pobrac $_GET['id'] a jak jest http://strona.pl/show,3.html to najpierw musze pobrac REQUESTa, potem explode przecinek, a potem jeszcze kolejny explode kropka i dopiero wtedy mam wyciagniete ID, czyli 3. a to i tak skrocona wersja i niezbyt pewna. wystarczy ze zrobimy show,id,3.html i znowu kolejne regulki. a moze jest jakis latwiejszy sposob na to? przy okazji pytanie jeszcze jedno - jaki wyglad adresow stosowac najlepiej? wiem ze to odemnie zalezy, ale np jaki preferuje google? adres.pl/show,id,3.html adres.pl/show/id/3 adres.pl/show-id-3 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Ten adres.pl/show/id/3 sposób jest najbardziej przyjazny dla robotów indeksujących Twoją stronę.
W takim przypadku id możesz pobrać bezpośrednio za pomocą $_GET Pozdrawiam! -------------------- Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 2.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
wpisuje adres.pl/show/id/3
print_r($_GET) pokazuje Array ( [show_php] => ) wiec chyba tez sie nie da i znowu zabawa z explode, choc akurat w tym przypadku tylko raz ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zrob dobrze .htaccess, to pogadamy.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 2.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteEngine On RewriteRule show/id/(.*) show.php?id=$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /test/index.php?$1 [L] takie mam. i jak wpisuje w adresie adres.pl/index.php?id=2 to GET bierze id, ale jak juz adres.pl/show/id/2 to Cytat Array ( [show_php] => ) wiec jak to moge zrobic? naprowadzi mnie ktos? bo od godziny swoje w miejscu i nie moge z tym ruszyc. szukalem na google, ale nie moge nic konkretnego znalezc, zebym chociaz wiedzial jak to nazwac. panowie to moze ktos poda jakis prosty dzialajacy przyklad, bo probuje na wszystkie sposoby i nic.... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Pokaż fragment którym odbierasz $_GET
![]() -------------------- Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 2.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
wywala, ze nie zna id, no bo nie ma tam czegos takiego: print_r($_GET); Array ( [show_php] => ) zauwazylem jeszcze cos takiego, ze jak zrobie regulke: RewriteRule show/id/1 show.php?id=1 [L] i wpisze adres localhost/test/show/id/2 to wywala juz: Array ( [show/id/2] => ) a dla localhost/test/show/id/1 znowu Array ( [show_php] => ) plik show.php mam w katalogu localhost/www/templates/show.php ale poza tym ze nie dziala pobieranie ID po get to wszstko sprawuje sie swietnie i tak jak chcialem |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Masz jakoś dziwnie zrobione. Specjalnie do testów wrzuciłem linijkę do .htaccess twoją i plik show.php zrobiłem, wyświetlający $_GET['id']. Pokazuje mi normalnie
Ten post edytował mat-bi 11.04.2011, 21:08:51 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 2.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
moglbys wkleic to z Twoich testow? zrobie na podstawie tego co masz i moze mi wyjdzie, a jak nie to moze mam cos z WAMPem.
dzieki z gory |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 2.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
dzieki za zainteresowanie, juz mi to dziala. zmienilem regulke na:
RewriteRule show/id/(.*) index.php/show.php?id=$1 [L] i jest ok, ale mam jeszcze jedno pytanie: w indexie chce zrobic routing czy cos w tym stylu, czyli ze jak jak w adresie bedzie localhost/show/id/3 to ma mi wywolac funkcje ktora mi podbierze dane z bazy itp itd i teraz robie tak:
i da sie teraz to zrobic jakos, zeby dzialalo dla kazdego? cos w stylu wyrazen regularnych jak w htaccess, czyli bym zrobil tak>:
czy pozostaje to dzielic przez explode? |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 2.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
znalem to, ale jak to zastosowac w tym przykladzie, bo jakos nie moge nic wymyslic sensownego
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 314 Pomógł: 44 Dołączył: 12.11.2010 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
http://nospor.pl/ladne-urle.html Może to ci pomoże.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 1 Dołączył: 2.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
to juz calkiem inny system, wolalbym to zrobic tak jak mam teraz, wiec jak to rozwiazac?
panowie mam kolejny problem ![]() Kod Options +FollowSymLinks +ExecCGI <IfModule mod_rewrite.c> RewriteEngine On RewriteRule show/(.*) index.php/templates/show.php?id=$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /test/index.php?$1 [L] </IfModule> linki generuje w ten sposob: i teraz jak wejde w np http://localhost/test/show/1.html to dziala ok, a jak w menu wyswietlona reszte linkow to sie tworza tak: http://localhost/test/show/show/38.html . klikam znowu w linka i powstaje http://localhost/test/show/show/show/38.html czyli z kazda strona sie dodaje /show/ jak zmienie generowanie linkow na: to dziala dobrze, ale to nie jest zbyt dobre rozwiazanie... a moze zamiast wpisywania wszedzie http://localhost/test/show/ da sie to jakos zamienic jakas zmienna? na pewno da sie jakos pobrac caly adres aktualnego folderu? Ten post edytował krzystyn 12.04.2011, 16:27:03 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 19:44 |