WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hur kan man hämta sidans url med php? (https://www.wn.se/forum/showthread.php?t=1039116)

johancmedia 2009-11-15 19:12

Hur kan man hämta sidans url med php?
 
Hej!
Hur kan man hämta sidans url med hjälp utav php?
sidan använder frames och jag vill att url:en ska visas i en av frames:en, jag vill inte att tex. om jag väljer att url:en ska visas i en frames som heter vanster.php att det då står att url:en är vanster.php utan om hela adressen är tex. http://www.domain.com?visa=om&nyhetsid=3903 så visas den adressen.

MVH
Johan

vco-systems 2009-11-15 20:52

Det här borde fungera (har inte testat):

I huvudsidan lägg till:

session_start();
$_SESSION["url"]="http://".$_SERVER[SERVER_NAME"].$_SERVER["REQUEST_URI"];

I din frame lägg till:

session_start();
echo $_SESSION["url"];

johancmedia 2009-11-15 22:31

Citat:

Ursprungligen postat av vco-systems (Inlägg 20331477)
Det här borde fungera (har inte testat):

I huvudsidan lägg till:

session_start();
$_SESSION["url"]="http://".$_SERVER[SERVER_NAME"].$_SERVER["REQUEST_URI"];

I din frame lägg till:

session_start();
echo $_SESSION["url"];

Jag har provat koden men jag får inte den att fungera.
Jag har även provat denna kod i en sida på mitt frame (som heter header.php).

PHP-kod:

<?php
$nyhetssida 
= (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
?>

Men då visas bara: http://www.domain.com/header.php, inte hela url:en från huvudsidan.

//Johan

Westman 2009-11-15 22:40

Använd javaskript istället?
Kod:

<script language="javascript">
        document.write(top.location.href);
</script>


marcuslind 2009-11-16 01:55

Använd dig av $_SERVER variabeln. I detta fall borde väl $_SERVER['REQUEST_URI'] fungera.

Du kan läsa mer om allt här http://www.php.net/manual/en/reserve...les.server.php
I kommentarerna finns även en tabell som skriver ut alla värden från $_SERVER. Kika på den så kanske du hittar någonting som passar dig.

johancmedia 2009-11-17 17:36

Citat:

Ursprungligen postat av marcuslind (Inlägg 20331505)
Använd dig av $_SERVER variabeln. I detta fall borde väl $_SERVER['REQUEST_URI'] fungera.

Du kan läsa mer om allt här http://www.php.net/manual/en/reserve...les.server.php
I kommentarerna finns även en tabell som skriver ut alla värden från $_SERVER. Kika på den så kanske du hittar någonting som passar dig.

Tack för hjälpen! jag lyckades få det att fungera med HTTP_REFERER

//Johan

qson 2009-11-17 17:45

Tänk bara på att om någon hittar till din sida från t.ex. Google så kommer HTTP_REFERER att vara http://www.google.com/search/någonting...
Sen är det inte heller alla webbläsare som skickar med HTTP_REFERER.

johancmedia 2009-11-17 18:46

Citat:

Ursprungligen postat av qson (Inlägg 20331770)
Tänk bara på att om någon hittar till din sida från t.ex. Google så kommer HTTP_REFERER att vara http://www.google.com/search/någonting...
Sen är det inte heller alla webbläsare som skickar med HTTP_REFERER.

Det är inte själva sidan som jag använder mig utav http_referer utan länkarna, så det är en väldigt liten andel besökare som kommer till länkarna via sökmotorer. Vilka webbläsare fungerar http_referer med? har du något tips på vad jag kan använda mig av istället?

//Johan

Hjorten 2009-11-17 20:09

Citat:

Ursprungligen postat av johancmedia (Inlägg 20331774)
Det är inte själva sidan som jag använder mig utav http_referer utan länkarna, så det är en väldigt liten andel besökare som kommer till länkarna via sökmotorer. Vilka webbläsare fungerar http_referer med? har du något tips på vad jag kan använda mig av istället?

//Johan

Jag har ett addon till Firefox som gör så att referern inte skickas.

johancmedia 2009-11-17 20:46

Citat:

Ursprungligen postat av Westman (Inlägg 20331497)
Använd javaskript istället?
Kod:

<script language="javascript">
        document.write(top.location.href);
</script>


Hur kan man få denna kod att fungera i en form input?
//Johan


Alla tider är GMT +2. Klockan är nu 10:45.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson