PDA

Bekijk Volledige Versie : Kun je de volledige URL ophalen met PHP?



# martin
01/12/05, 15:15
Dat nieuwsgroep,

Ik wil graag op iedere pagina de URL van de pagina ophalen.

De pagina heeft bijvoorbeeld als URL:
http://www.***.nl/forum/viewforum.php?f=7&style=2

Als ik met $PHP_SELF de style wil veranderen naar 3, dus
$PHP_SELF?style=3 dan is het resultaat

http://www.***.nl/forum/viewforum.php?style=3 terwijl
de bedoeling http://www.***.nl/forum/viewforum.php?f=7&style=3 is.

Vandaar mijn vraag of het mogelijk is de complete URL, dus inclusief wat
achter het vraagteken staat, op te kunnen halen. Deze functie zit in één
pagina dat op iedere pagina geinclude wordt.

Alvast bedankt!

# martin

Maarten Wierda
01/12/05, 15:15
# martin wrote:

> Dat nieuwsgroep,

Dat!? ;)

> Ik wil graag op iedere pagina de URL van de pagina
> ophalen.

Probeer het volgende eens:

print_r($_SERVER);

Daar zitten vast wel variabelen mee waar je iets mee kunt.


--
Cheers,
Maarten Wierda

Erick T. Barkhuis
01/12/05, 15:30
> Vandaar mijn vraag of het mogelijk is de complete URL, dus inclusief wat
> achter het vraagteken staat, op te kunnen halen.

Voor de query-string: $_SERVER['QUERY_STRING']
Maar pas op bij XHTML1.1

--
Erick

"A man who says marriage is a 50-50 proposition, doesn't understand two
things: women and fractions."

# martin
01/12/05, 15:45
Hieronder volgt een reactie op dit bericht:
> # martin wrote:
>
>> Dat nieuwsgroep,
>
> Dat!? ;)

Sorry, moest "Dag" zijn :P

>> Ik wil graag op iedere pagina de URL van de pagina
>> ophalen.
>
> Probeer het volgende eens:
>
> print_r($_SERVER);
>
> Daar zitten vast wel variabelen mee waar je iets mee kunt.

Eerlijk gezegd zie ik zo snel niet de juiste variable. Alles moet opgehaald
worden, dus ook als er een ?XXX=YYYY naast .php staat.

# martin

Ronald Klip
01/12/05, 15:45
Erick T. Barkhuis schreef:
>
> Voor de query-string: $_SERVER['QUERY_STRING']
> Maar pas op bij XHTML1.1

Hoezo, gaat er dan iets mis?

--
groet, Ronald

Ronald Klip
01/12/05, 15:45
schreef:
>
> Vandaar mijn vraag of het mogelijk is de complete URL, dus inclusief wat
> achter het vraagteken staat, op te kunnen halen.

$_SERVER['REQUEST_URI'], mits voorhanden op je server.

--
groet, Ronald

Erick T. Barkhuis
01/12/05, 15:45
Ronald Klip:
> Erick T. Barkhuis schreef:
> >
> > Voor de query-string: $_SERVER['QUERY_STRING']
> > Maar pas op bij XHTML1.1
>
> Hoezo, gaat er dan iets mis?

Och, ik dacht "ik waarschuw even, dan telt de OP voor twee, en dat zoekt
makkelijker."

[Nee, zonder dollen: als je & gebruikt in de query-string wordt het
misschien een tikje ingewikkelder. Ligt aan de toepassing van de OP,
uiteraard]

--
Erick

"Die MM-scripts zijn write-only" - Ronald Klip in niwo

# martin
01/12/05, 16:00
Hieronder volgt een reactie op dit bericht:
> Dat nieuwsgroep,
>
> Ik wil graag op iedere pagina de URL van de pagina ophalen.
>
> De pagina heeft bijvoorbeeld als URL:
> http://www.***.nl/forum/viewforum.php?f=7&style=2
>
> Als ik met $PHP_SELF de style wil veranderen naar 3, dus
> $PHP_SELF?style=3 dan is het resultaat
>
> http://www.***.nl/forum/viewforum.php?style=3 terwijl
> de bedoeling http://www.***.nl/forum/viewforum.php?f=7&style=3 is.

[..]

Bedankt voor alle hulp. Ik dacht dat het opvragen van de complete URL (zoals
weergegeven in de adresbalk) iets simpels is, maar het lukt voor geen meter.

$_SERVER['REQUEST_URI'] werkt ook niet...

Als er nog meer tips zijn graag :-)

# martin

Ronald Klip
01/12/05, 16:00
Erick T. Barkhuis schreef:
> Ronald Klip:
> > Erick T. Barkhuis schreef:
> > >
> > > Voor de query-string: $_SERVER['QUERY_STRING']
> > > Maar pas op bij XHTML1.1
> >
> > Hoezo, gaat er dan iets mis?
>
> [Nee, zonder dollen: als je & gebruikt in de query-string wordt het
> misschien een tikje ingewikkelder. Ligt aan de toepassing van de OP,
> uiteraard]

In alle ernst: nu raak ik geheel in de war! De browser hoort & in
een verzoekje aan de server te vertalen naar & , dacht ik zo, dus wat is
het probleem. Of hebben we het over html-validerende entities? Mag &
niet meer in XHTML1.1, moet daar per se ; gebruikt worden ofzo?

--
groet, Ronald

Erick T. Barkhuis
01/12/05, 16:00
Ronald Klip:

> In alle ernst: nu raak ik geheel in de war! De browser hoort & in
> een verzoekje aan de server te vertalen naar & , dacht ik zo, dus wat is
> het probleem.

Zet eens een scriptje op je server met phpinfo() er in.
Roep dat ding aan met:

http://ronaldklipsdomein.com/phpinfo.php?veld1=eerste&veld2=tweede

....en kijk onderaan naar de inhoud van $_SERVER['QUERY_STRING']

Als de OP hoopt op een enkele ampersand, en daarop gaat splitsen
bijvoorbeeld, komt hij bedrogen uit.


--
Erick

"Quick & dirty, met een lege <p>, maar misschien zijn er nettere
oplossingen" - Ronald Klip in niwo

Math1985
01/12/05, 22:00
# martin wrote:
> Ik dacht dat het opvragen van de complete URL
> (zoals weergegeven in de adresbalk) iets simpels is,

Dat is het ook.

> maar het lukt
> voor geen meter.
>
> $_SERVER['REQUEST_URI'] werkt ook niet...

Volgens mij zijn er al best wat tips gegeven waar je wat mee kunt. Als je

print_r($_SERVER);

doet, kun je zien wat er allemaal voor informatie beschikbaar is. Zo uit
mijn hoofd heb je inderdaad QUERY_STRING - dat is dus
$_SERVER[''QUERY_STRING'] - nodig, mogelijk nog gecombineerd met een van de
andere variabelen.

Ik hoop dat je er hiermee uitkomt. Zo niet, laat even weten wat precies je
probleem is.

finalwebsites.com
02/12/05, 11:00
Martin,

Ik denk dat je zoiets nodig hebt:

http://www.finalwebsites.com/snippets.php?id=6

gr. Olaf

Ronald Klip
08/12/05, 00:15
Erick T. Barkhuis wrote:

[query-string in xhtml 1.1]
>
> Zet eens een scriptje op je server met phpinfo() er in.
> Roep dat ding aan met:
>
> http://ronaldklipsdomein.com/phpinfo.php?veld1=eerste&amp;veld2=tweede
>
> ...en kijk onderaan naar de inhoud van $_SERVER['QUERY_STRING']

Het duurde even, maar ik heb nu een net xhtml1.1-documentje gemaakt met
kortweg

echo $_SERVER['QUERY_STRING'];

Aangeroepen zoals je zei. Opera en FireFox roepen dat het bepaald niet
well-formed is, omdat ze struikelen over &veld2= . Is dat wat je bedoelt?

--
groet, Ronald

Eric B. Bednarz
08/12/05, 01:00
Ronald Klip <nieuws@bladibla.net.invalid> writes:

> Erick T. Barkhuis wrote:

>> Roep dat ding aan met:
>> http://ronaldklipsdomein.com/phpinfo.php?veld1=eerste&amp;veld2=tweede

> Het duurde even, maar ik heb nu een net xhtml1.1-documentje gemaakt

Fascinerend; ik heb even teruggebladerd om te zien waar dit over gaat en
begrijp de veronderstelde relevantie van het x voor html en de 1 na de
punt in dit verhaal nog helemaal niet.

Nog begrijp ik het 'aanroepen'. Ik kan mij niet voorstellen dat iemand
zo naief is een entity referentie in het adresbalk van welke applicatie
dan ook te typen. Wat de phpinfo functie echter opzienbarends zou
moeten gaan onthullen als dit adres als attribuutwaarde literal
aangeroepen wordt kan ik mij nog minder voorstellen.

Ajb? Ik denk dat ik anders niet kan slapen.


--
||| hexadecimal EBB
o-o decimal 3771
--oOo--( )--oOo-- octal 7273
205 goodbye binary 111010111011

Math1985
09/12/05, 23:00
Ronald Klip wrote:
> Het duurde even, maar ik heb nu een net xhtml1.1-documentje gemaakt
> met kortweg
>
> echo $_SERVER['QUERY_STRING'];
>
> Aangeroepen zoals je zei. Opera en FireFox roepen dat het bepaald niet
> well-formed is, omdat ze struikelen over &veld2= . Is dat wat je
> bedoelt?

Dan moet je even htmlspecialchars over erover heen gooien. Dus:

echo htmlspecialchars($_SERVER['QUERY_STRING']);