/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hente sidens url til querystring
Fra : Erik Ginnerskov


Dato : 15-01-06 17:15

Hej NG

Jeg har i asp fået lavet en funktion, der kan hente sidens samlede url
inklusive de parametre, som indgår i en side med dynamisk include. Den
samlede url skal sendes til CopyScape som søgestreng.

Koden er sådan:

<form name="query" method="post" action="http://copyscape.com/?results">
<div>
<input id="copyscapeinput" name="q" type="hidden" value="http://<%
=Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("URL")%>?<%
=Request.ServerVariables("HTTP_X_REWRITE_URL") %>">

<input id="copyscapeknap" type="submit" value="Søg efter kopier af siden!"
title="Søg efter kopier på Copyscape">
</div>
</form>

.... og det kan ses på <http://hjemmesideskolen.dk/test/index1.asp>.

Men det vil selvfølgelig ikke fungere på en php-side. Så spørgsmålet er,
hvordan henter jeg i php de samme parametre ind i søgestrengen?

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



 
 
Jesper H (15-01-2006)
Kommentar
Fra : Jesper H


Dato : 15-01-06 21:29

Jeg er ikke helt sikker på om det er det svar, du søger, men da jeg
kiggede i phpinfo() faldt jeg over $_SERVER["REQUEST_URI"] - den så
ud til at indeholde både URL'en og postvariablerne.

--
Mvh Jesper, http://fdf.dk/landsdel1/


Erik Ginnerskov (15-01-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 15-01-06 21:47

Jesper H wrote:
> Jeg er ikke helt sikker på om det er det svar, du søger, men da jeg
> kiggede i phpinfo() faldt jeg over $_SERVER["REQUEST_URI"] - den så
> ud til at indeholde både URL'en og postvariablerne.

Det prøver jeg lige at kigge på.

Det giver en fejl:

Parse error: parse error in d:\home\hjemmesideskoldk\www\test\menu1p.inc on
line 12

Min kode ser sådan ud:

<form name="query" method="post" action="http://copyscape.com/?results"
class="mt10">
<div>
<input id="copyscapeinput" name="q" type="hidden" value="http:// php
$_SERVER["REQUEST_URI"] ?>" />

<input id="copyscapeknap" type="submit" class="knapper" value="Søg efter
kopier af siden!" title="Søg efter kopier på Copyscape" />
</div>
</form>

Linje 12 er det skjulte input.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Jesper H (15-01-2006)
Erik Ginnerskov (15-01-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 15-01-06 23:43

Jesper H wrote:

> <input id="copyscapeinput" name="q" type="hidden" value="<?php
> echo $_SERVER["REQUEST_URI"] ?>" />

Det fjernede fejlmeldingen og fik den tomme protokol med:

value="http://"

> <input id="copyscapeinput" name="q" type="hidden" value="http://
> echo $_SERVER["HTTP_X_FORWARDED_HOST"].$_SERVER["REQUEST_URI"] ?>" />

Samme tomme protokol som ovenfor.

> <input id="copyscapeinput" name="q" type="hidden" value="
http://
> echo $_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"] ?>" />

Så får jeg domænet med, men den aktuelle side medtages ikke i søgestrengen.

value="
http://hjemmesideskolen.dk"

Men vi nærmer os da løsningen.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



karsten.bynck@get2ne~ (16-01-2006)
Kommentar
Fra : karsten.bynck@get2ne~


Dato : 16-01-06 07:40

Erik Ginnerskov wrote:
> Jesper H wrote:
>
>
>><input id="copyscapeinput" name="q" type="hidden" value="<?php
>>echo $_SERVER["REQUEST_URI"] ?>" />
>
>
> Det fjernede fejlmeldingen og fik den tomme protokol med:
>
> value="http://"
>
>
>><input id="copyscapeinput" name="q" type="hidden" value="http://
>>echo $_SERVER["HTTP_X_FORWARDED_HOST"].$_SERVER["REQUEST_URI"] ?>" />
>
>
> Samme tomme protokol som ovenfor.
>
>
>><input id="copyscapeinput" name="q" type="hidden" value="
http://
>>echo $_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"] ?>" />
>
>
> Så får jeg domænet med, men den aktuelle side medtages ikke i søgestrengen.
>
> value="
http://hjemmesideskolen.dk"
>
> Men vi nærmer os da løsningen.
>

Ligger siden på en windows server?

If. http://www.php.net/reserved.variables :

citat start
REQUEST_URI not defined on Windows XP and IIS 5.1
I have seen different script on the web and in this list but they don't
work fully. This one seems to work:

if(!isset($_SERVER['REQUEST_URI'])) {
$arr = explode("/", $_SERVER['PHP_SELF']);
$_SERVER['REQUEST_URI'] = "/" . $arr[count($arr)-1];
if ($_SERVER['argv'][0]!="")
$_SERVER['REQUEST_URI'] .= "?" . $_SERVER['argv'][0];
}
citat slut

Håber det hjælper
Mvh
Karsten Bynck

Erik Ginnerskov (17-01-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 17-01-06 00:23

karsten.bynck@get2net.dk wrote:

> Ligger siden på en windows server?

Ja.
>
> If. http://www.php.net/reserved.variables :

Her fandt jeg en variabel, som jeg prøvede at indsætte:

<input id="copyscapeinput" name="q" type="hidden" value="http:// echo
$_SERVER["HTTP_HOST"].$_SERVER["URL"].$_SERVER["QUERY_STRING"] ?>" />

Det giver et output:

value="
http://hjemmesideskolen.dk/test/dynphp.phppage=s2"

.... hvor det burde se sådan ud:


value="http://hjemmesideskolen.dk/test/dynphp?page=s2"

Så det var heller ikke det helt rigtige. ;-(

> if(!isset($_SERVER['REQUEST_URI'])) {
> $arr = explode("/", $_SERVER['PHP_SELF']);
> $_SERVER['REQUEST_URI'] = "/" . $arr[count($arr)-1];
> if ($_SERVER['argv'][0]!="")
> $_SERVER['REQUEST_URI'] .= "?" . $_SERVER['argv'][0];
> }

Det prøvede jeg at indsætte umiddelbart inden den streng, som skal sendes
til CopyScape. Det gør ingen forskel. Men det var måske et forkert sted?

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Erik Ginnerskov (17-01-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 17-01-06 01:29

Erik Ginnerskov wrote:

> Det giver et output:
>
> value="http://hjemmesideskolen.dk/test/dynphp.phppage=s2"
>
> ... hvor det burde se sådan ud:
>
>
> value="http://hjemmesideskolen.dk/test/dynphp?page=s2"

Sikke noget sludder. Output skal da se sådan ud:

value="http://hjemmesideskolen.dk/test/dynphp.php?page=s2"


--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Jesper H (16-01-2006)
Kommentar
Fra : Jesper H


Dato : 16-01-06 14:03

Hej Erik

Ved ikke om du har haft held med Karstens forslag (som lyder ganske
fornuftigt). Ellers kan du prøve at lave en php-side med indholdet:
<?PHP
phpinfo();
?>
Der står de globale variable, som er tilgængelige når du skal kode
noget i php på den pågældende webserver. Det står ca. nederst på
siden (der kommer en ordentlig masse), og når der f.eks. står
_SERVER["HTTP_HOST"] skal der dollartegn foran når du bruger den som
variabel, altså $_SERVER["HTTP_HOST"] .

Held og lykke med det

--
Mvh Jesper, http://fdf.dk/landsdel1/


Erik Ginnerskov (16-01-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 16-01-06 23:43

Jesper H wrote:

> <?PHP
> phpinfo();
> ?>

Den havde jeg allerede.

> når der f.eks. står
> _SERVER["HTTP_HOST"] skal der dollartegn foran når du bruger den som
> variabel, altså $_SERVER["HTTP_HOST"] .

Jeg fandt på listen, at _SERVER["REQUEST_URI"] ikke er tilgængelig på den
server.

Men det er _SERVER["URL"] som jeg prøvede at indsætte. Derved fik jeg stien
og sidenavnet med. Så mangler jeg bare at fange parametrene for de dynamiske
includes.

Det bliver bedre og bedre.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Jesper H (17-01-2006)
Erik Ginnerskov (17-01-2006)
Erik Ginnerskov (17-01-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 17-01-06 02:01

Erik Ginnerskov wrote:

> Men når jeg trykker på submit, bliver søgestrengen bare ikke sendt
> alligevel.

Problemet løst. Jeg havde på et tidspunkt ændret metoden fra post til get.
Da jeg rettede tilbage til post, kom det hele til at fungere.

Tak for hjælpen.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste