Gå til innhold

SID og page? i url fyller seg mer og mer opp


Anbefalte innlegg

Hei.

 

Jeg bruker include for å inkludere innholdet i sidene men resultatet er at hver gang jeg bruker $page=$_GET['page']; så henter den alt innholdet og legger det i url-en flere ganger.

 

url-en ser slik ut: http://fileserver//nhobby/admin.php?sid=a461701989c7637ca33ba99e7d101828&page=create&page=createcs&page=museum/admintest&page=createcs&page=museum/admintest&page=createcs&page=create&page=museum/admintest&page=createcs&page=create

 

//Linken

<a href="admin.php?<? echo $_SERVER['QUERY_STRING'];?>&page=museum/admintest">InterM.Admin</a>

 

//include

$page=$_GET['page'];
if ($page)
{
include 	($page.".php");
}
else {echo "siden finnes ikke";}

 

Dette fungerer men, hvordan kan jeg løse det slik at det ikke ser så rart ut i url feltet?

 

Takker for hjelp :)

Endret av Åsmund
Lenke til kommentar
Videoannonse
Annonse

Pga mappestrukturen måtte jeg da legge til /nhobby/

 

<a href="/nhobby/admin.php?<? echo $_SERVER['QUERY_STRING'];?>&page=museum/admintest">InterM.Admin</a>

 

Resultatet var det samme.

Jeg har fulgt guiden her: http://www.youtube.com/watch?v=62h6Wr7heXk&p=E59FBF194A4D6BA7&playnext=1&index=10

og i tilleg lagt til SID.

 

Jeg kan prøve å fjerne SID og se om det lager problemet. I morgen, elns.

Lenke til kommentar

Først av alt: Du må for <deity of your choice>'s skyld se Dynamic pages (Security update). Det er litt skummelt at denne phpacademy-personen måtte bli "minnet på" det gapende sikkerhetshullet i den orginale koden sin. Jeg er ikke engang helt enig i måten han løser problemet, men det er bedre enn det som var.

 

 

Du printer jo ut QUERY_STRING og så legger du på noe på slutten. Det er jo QUERY_STRING (som inneholder alt etter ? og før #) du klager på at blir større.

 

Kode 1:

<a href="admin.php?<? echo $_SERVER['QUERY_STRING'];?>&page=museum/admintest">InterM.</a>

Når du åpner siden admin.php direkte, vil denne Kode 1 resultere i at den følgende HTML-koden inkluderes på siden:

<a href="admin.php?&page=museum/admintest">InterM.</a>

Når du nå klikker på denne linken, vil du bli sendt til siden admin.php?&page=museum/admintest. Nå denne siden åpnes, vil Kode 1 generere denne HTML-koden:

<a href="admin.php??&page=museum/admintest&page=museum/admintest">InterM.</a>

Slik vil det fortsette. Når du klikker på den sammen linken igjen, vil du komme på en side der page=museum/admintest er inkludert tre ganger.

 

Jeg går ut ifra at det du egentlig er interresert i å inkludere er SID, men når du skriver ut $_SERVER['QUERY_STRING'] blir query-stringen med, ikke bare SID.

 

Denne koden burde gjøre det du er på jakt etter:

<a href="admin.php?sid=<? echo $_GET['SID'];?>&page=museum/admintest">InterM.</a>

Endret av Kagee
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...