Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP] Problem z pobraniem adresu strony
Forum PHP.pl > Forum > Przedszkole
oi.
Witam, nie wiem jak pobrać zawartość "slowo kluczowe" adresu www.domena.pl/slowo-kluczowe-id22.html
Jeżeli chodzi o nr ID to sprawa jest prosta
  1. $id = $_GET['id'];
, ale jak pobrać treści sprzed tego ID
nospor
Żeby to ci działało, to zapewne to obrabiasz albo w .htaccess albo w php. To nie możesz od razu tak obrabiać by tę wartość mieć?

No ale jeśli ci się nie chce tak obrabiać to zainteresuj się $_SERVER;
print_r($_SERVER);

ps: po grzyba dajesz tag SQL?? Przecież to nie ma żadnego związku z SQL
oi.
Potrzebne jest mi to do wyświetlenie podobnych danych z bazy SQL w przypadku gdyby użytkownik wszedł na podstronę, której treść jest już usunięta .
Wówczas skrypt ma za zadanie podsunąć kilka aktualnych danych z bazy, których tytuł lub treść zawierają to słowo kluczowe w adresie wyszukiwarki.
nospor
A może to być ci nawet potrzebne do latania samolotem. To nie znaczy, że masz dawać tag SAMOLOT, skoro Twój problem dotyczy zupełnie czego innego. tongue.gif
oi.
Spróbowałem z:
  1. $skrypt= $_SERVER[ 'REQUEST_URI' ];
  2. echo $skrypt;

i otrzymuję :

/slowo-kluczowe-id22.html
blisko ale jeszcze nie to :/
nospor
blisko, blisko.... teraz masz użyć np. wyrażenia regularnego by wybrać to co ci potrzeba.

Gdybyś jednak zastosował się do mojej pierwszej podpowiedzi to byś się nie musiał później bawić w to. no ale Twoja sprawa.

edit: zamiast wyrażenia regularnego możesz użyć zwykłego substr(). wszystkie niezbędne dane masz podane.
oi.
  1. print_r($_SERVER);
powoduje wyświetlenie kilkunastu linijek kodu z adresem itp w tym /slowo-kluczowe-id22.html więc nie wiem dlaczego jest lepsze od
  1. $skrypt= $_SERVER[ 'REQUEST_URI' ];


  1. substr($tresc, 0, 105)) ;
substr używam często ale co mi da ucięcie wyrażenia skoro słowo kluczowe w każdym przypadku będzie innej wielkości.
W jaki najprostszy sposób to rozwiązać by nie obciążać serwera wyrażeniami regularnymi?
nospor
Cytat
powoduje wyświetlenie kilkunastu linijek kodu z adresem itp w tym /slowo-kluczowe-id22.html więc nie wiem dlaczego jest lepsze od
ałć :/ A kto powiedział że jest lepsze?
dałem ci print_r($_SERVER); byś sobie zobaczył co gdzie co jest i byś wybrał najlepsze. Wybrałeś $_SERVER[ 'REQUEST_URI' ]; i zrobiłeś to co miałeś zrobić.

Cytat
W jaki najprostszy sposób to rozwiązać by nie obciążać serwera wyrażeniami regularnymi?
Przecież napisałem: substr().


Jeśli zaś piłeś do tego co powiedziałem:
Cytat
Gdybyś jednak zastosował się do mojej pierwszej podpowiedzi to byś się nie musiał później bawić w to. no ale Twoja sprawa.
To ja mówiłem o tym:
Cytat
Żeby to ci działało, to zapewne to obrabiasz albo w .htaccess albo w php. To nie możesz od razu tak obrabiać by tę wartość mieć?


Cytat
substr używam często ale co mi da ucięcie wyrażenia skoro słowo kluczowe w każdym przypadku będzie innej wielkości.

No i co z tego ze będzie różnej długosci? Długość całego tekstu znasz, długość tekstu z idxx.html - znasz.
Nie umiesz odjąc jednej wartosci od drugiej?
drPayton
No toć dostałeś odpowiedź w pierwszym poście nospor'a, htaccess...

A jak nei htaccess, to regex jest jedynym rozsądnym wyjściem. A jeśli już substr to licząc od ostatniego wystąpienia ciągu "idLICZBA"...
oi.
id22.html a innym razem będzie id222.html
Cytat
Żeby to ci działało, to zapewne to obrabiasz albo w .htaccess albo w php. To nie możesz od razu tak obrabiać by tę wartość mieć?

Nie będę tego obrabiał w pliku .htaccess . Musze to obrobić w PHP
nospor
Cytat
id22.html a innym razem będzie id222.html
O jejkuś...
No ale przecież 22 czy 222 to masz w $_GET['id'] więc id222.html znasz! Chłopie, myśl, przestań pisać post za postem tylko najpierw myśl.
oi.
22 to DWA znaki a 222 to TRZY znaki
Rozumiem że używając substr() jako
  1. (substr($tresc, 0, -7)) ;
dla id22.html oraz
  1. (substr($tresc, 0, -8)) ;
dla id222.html
drPayton
A kto Ci każe podawać wartości do obcięcia "z palca"?

strrpos()
nospor
Cytat
22 to DWA znaki a 222 to TRZY znaki
Aleś ty jesteś odporny na wiedzę.... 2222 to cztery znaki. I co z tego?

  1. $twojeid = '-id'.$_GET['id'].'.html';
  2. $dlugosctwojegoid = strlen($twojeid);

ojej, patrz, już masz długość koncówki...

Wiem i od razu przepraszam, może jestem trochę ironiczny tudzież "niemiły" ale leżysz na takich podstawach to może jak dostaniesz pare kuksańców to wkońcu wbijesz sobie pewien tok myślenia do głowy. Bo jesteś na forum od ponad 5 lat i widzę po dobroci do Ciebie niedochodzi.
oi.
Nospor "Odporny na wiedzę, trudny do zaj...nia" to też zaleta wink.gif programowanie w PHP to dla mnie hobby, a nowe funkcje przychodzą mi z trudem .
Za złe Ci nie mam ironiczności bo identycznie reaguję jak ktoś nie rozumie oczywistych dla mnie rzeczy :-). Na forum jestem od 5 lat i zauważyłem ze kiedyś mniej odsyłałeś do manuala.
Poradziłem sobie już z tym problemem
  1. $skrypt= $_SERVER[ 'REQUEST_URI' ];
  2. $skrypt = str_replace('-', ' ', $skrypt);
  3. $skrypt = substr($skrypt, 1, -15);

Twój sposób pobierania ilości liczb w ID zaraz dorzucę do tego kodu. Pozdrawiam.
nospor
Cytat
Na forum jestem od 5 lat i zauważyłem ze kiedyś mniej odsyłałeś do manuala.
Zgadza się. Ale też kiedyś zupełnie był inny poziom ludzi, którzy szukali pomocy. (nie piję w żaden sposób do Ciebie, mówię ogólnie)

Cytat
a nowe funkcje przychodzą mi z trudem .
No ale tu nie chodziło już o funkcję, tylko o pomyślunek. Identycznie problem należałoby rozwiązać niezależnie od języka. Liczysz, długość koncówki, wszystkie ale to wszystkie dane do tego już masz - i po sprawie. Nic tylko odrobinę pomyśleć. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.