webForumDet fria alternativet

PHP_SELF tar inte hela adressen

7 svar · 412 visningar · startad av Jonny Puma

Jonny PumaMedlem sedan jan. 200420 inlägg
#1

Hej alla!

Jag undrar om det finns någon variant till $_SERVER['PHP_SELF'] som även känner av hela adressen?

Om man t.ex. har adressen:
lolcalhost/projekt/search.php?id=5
och kör PHP_SELF så blir det bara:
lolcalhost/projekt/search.php

Tack på förhand!

NiklassonMedlem sedan nov. 2000857 inlägg
#2

REQUEST_URI skall fungera.

Jonny PumaMedlem sedan jan. 200420 inlägg
#3

Tack!

filipbhMedlem sedan juli 2002405 inlägg
#4

Hur skall "REQUEST_URI" skrivas och vart?

filipbhMedlem sedan juli 2002405 inlägg
#5

Jag bytte ut PHP_SELF mot REQUEST_URI. Antar att det är så man ska göra... Men problemet kvarstår delvis. Jag har en länk som heter "Visa info" och när man trycker på den blir det ju då "Dölj info". Länken ger sida.php?showinfo=yes eller no beroende på vilken man trycker på. T.ex. "Visa info" visas. Jag trycker på länken och får fram infon. När jag inte vill visa länken längre trycker jag på "Dölj info" och använder REQUEST_URI men då blir ju hela länken så här: sida.php?showinfo=yes&showinfo=no. Anledningen till att jag inte tar PHP_SELF är för att jag har flera andra "GET"-adresser och de tas ju bort om man inte använder REQUEST_URI. Vad ska jag göra för att lösa problemet?

Ursäkta att min fråga blev väldigt rörig...

aasahMedlem sedan mars 20034 471 inlägg
#6

Pröva att använda

$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];

istället. QUERY_STRING hämtar värdet från GET-variablerna.

MatteMedlem sedan aug. 20002 975 inlägg
#7

Har man bara en eller två värden, och har hyfsad kontroll över vad de innehåller, då kan man arbeta direkt mot GET-variablerna och bygga upp sin länk, typ

$_GET['showinfo'] = 'no';
$link = $_SERVER['PHP_SELF'].'?showinfo='.$_GET['showinfo'];

Annars finns i PHP5 http_build_query.
Har man inte tillgång till PHP5 kan man istället använda den här.
Då bygger man upp det hela genom:

$_GET['showinfo'] = 'no';
// Eller t.ex. unset($_GET['showinfo']);

$link = $_SERVER['PHP_SELF'].'?'.http_build_query($_GET);
filipbhMedlem sedan juli 2002405 inlägg
#8

Tack för hjälpen

134 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)