/ 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
Få id fra en side
Fra : Ukendt


Dato : 19-08-06 21:33

Hej alle

Jeg skal til at omkode en hjemmeside fra asp/access til php/mysql, men
da jeg ikke har adgang til at kode i asp-koden eller på serveren, hvor
denne ligger, har jeg brug for at kunne finde noget bestemt fra
forskellige sider

Hvis man fx har links med id's i, findes der så en funktion, der kan
finde disse id's for en vha php?
Vi kan fx antage at linket ser således ud:
<a href="../brugeroplysninger.asp?id=243432" target="_blank">
Hvordan kan jeg få id'et ud der?

Jeg har tænkt, at det kan lade sig gøre vha. Regular Expression, men da
jeg ikke er så meget inde i disse endnu, vil jeg gerne have lidt hjælp
til at udskille id'et

Hilsen
Lasse

Ps. på forhånd tak for hjælpen

 
 
Dan Storm (19-08-2006)
Kommentar
Fra : Dan Storm


Dato : 19-08-06 22:04

at(nospam) skrev:
> Jeg har tænkt, at det kan lade sig gøre vha. Regular Expression, men da
> jeg ikke er så meget inde i disse endnu, vil jeg gerne have lidt hjælp
> til at udskille id'et

For at trække id'et ud af HTTP GET skal du benytte dig af den
prædifinerede variabel $_GET som er en superglobal.

fil.php:
<?php

echo $_GET['id'];

?>

Ovenstående echoer bare id til browseren igen.
(eg. http://host/fil.php?id=457987)


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Ukendt (19-08-2006)
Kommentar
Fra : Ukendt


Dato : 19-08-06 22:12

Dan Storm wrote:
>
> For at trække id'et ud af HTTP GET skal du benytte dig af den
> prædifinerede variabel $_GET som er en superglobal.
>
> fil.php:
> <?php
>
> echo $_GET['id'];
>
> ?>

Det vidste jeg så at sige godt, men nu er det mere, når jeg får siden at
se som en html-fil, og det ikke er et link, der fører til min server



Bertel Lund Hansen (20-08-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 20-08-06 00:24

at skrev:

> Vi kan fx antage at linket ser således ud:
> <a href="../brugeroplysninger.asp?id=243432" target="_blank">
> Hvordan kan jeg få id'et ud der?

$linkline="<a href='../brugeroplysninger.asp?id=243432' target='_blank'>";
$pos=strpos($linkline,'id=')+3;
$id_plus=substr($linkline,$pos);
$quote=strpos($id_plus,"'");
$id=substr($id_plus,0,$quote);

Problemer der ikke er taget højde for:

1. Andre variable der ender på id (det kunne f.eks. være tid).
   Løses ved at teste på ?id= og ;id= (fra "&amp;id").
2. Det forventes at parameterværdierne i strengen er omgivet af anførselstegn.
3. Jeg har hårdtkodet de anførselstegn som jeg selv bruger.
4. Det er utestet, men princippet er godt nok.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Ukendt (20-08-2006)
Kommentar
Fra : Ukendt


Dato : 20-08-06 09:57

Bertel Lund Hansen wrote:
> $linkline="<a href='../brugeroplysninger.asp?id=243432' target='_blank'>";
> $pos=strpos($linkline,'id=')+3;

Hvorfor bruger du +3 her?

Bertel Lund Hansen wrote:
> $id_plus=substr($linkline,$pos);
> $quote=strpos($id_plus,"'");
> $id=substr($id_plus,0,$quote);
>
> Problemer der ikke er taget højde for:
>
> 1. Andre variable der ender på id (det kunne f.eks. være tid).
>    Løses ved at teste på ?id= og ;id= (fra "&amp;id").
> 2. Det forventes at parameterværdierne i strengen er omgivet af anførselstegn.
> 3. Jeg har hårdtkodet de anførselstegn som jeg selv bruger.
> 4. Det er utestet, men princippet er godt nok.
>

Jeg havde regnet med en Regular Expression, da jeg havde regnet med, da
det vil give mig indblik i disse

1. Dett er let nok, da den er omgivet med enten ? eller ;
2. Det er den

Jeg siger endnu engang tak

Bertel Lund Hansen (20-08-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 20-08-06 12:13

at skrev:

>> $linkline="<a href='../brugeroplysninger.asp?id=243432' target='_blank'>";
>> $pos=strpos($linkline,'id=')+3;

> Hvorfor bruger du +3 her?

Fordi jeg er interesseret i positionen lige *efter* id=. strpos()
giver mig den position der peger på i (starten af den søgte
streng). Hvis jeg havde søgt efter "ident=", havde jeg brugt +6.

> Jeg havde regnet med en Regular Expression, da jeg havde regnet med, da
> det vil give mig indblik i disse

Det kan sikkert også bruges, men da man skal finde noget med et
fast format, tror jeg at simple strengoperationer er nemmere.

Men jeg er ikke ekspert i reg. exp.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Ukendt (20-08-2006)
Kommentar
Fra : Ukendt


Dato : 20-08-06 14:09

Bertel Lund Hansen wrote:
> Fordi jeg er interesseret i positionen lige *efter* id=. strpos()
> giver mig den position der peger på i (starten af den søgte
> streng). Hvis jeg havde søgt efter "ident=", havde jeg brugt +6.

Ja okay, det kan jeg godt se
Nu har jeg erklæret en streng med det og brugt strlen i stedet ;)

> Det kan sikkert også bruges, men da man skal finde noget med et
> fast format, tror jeg at simple strengoperationer er nemmere.
>
> Men jeg er ikke ekspert i reg. exp.

Nåhr okay, men jeg takker i hvertfald mange gange for hjælpen, og du kan
jo selvfølgelig have ret i, at det hjælper, når det er et fast format,
og denne kan jo også bruges, hvis dataerne ligger inde i en tabel eller
lignende

Bertel Lund Hansen (20-08-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 20-08-06 14:25

at skrev:

> Ja okay, det kan jeg godt se
> Nu har jeg erklæret en streng med det og brugt strlen i stedet ;)

Det er også bedre (sikret ved ændringer).

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste