Avatar billede josini Nybegynder
26. februar 2004 - 13:55 Der er 9 kommentarer

Overfør php-variable via roenvings framing kode

Jeg har lidt problemer med at få en underside til at blive vist rigtigt i framesettet når undersiden er et php-kald med parametre. Selve php-scriptet bliver vist fint i den rigtige frame, men alle parametre forsvinder undervejs.

Med andre ord: jeg vil gerne kalde scriptet http://www.foobar.dk/check/index.php?var1=abc&var2=def, men det er kun "http://www.foobar.dk/check/index.php" der bliver vist.

Scriptet der anvendes kan ses på http://roenving.users.whitehat.dk/

Jeg har en lumsk mistanke om, at det er location.search.substr der laver ballade...

Ideas anyone...??
Avatar billede nikolajdu Nybegynder
26. februar 2004 - 14:07 #1
Der er jo heller ingen grund til at bruge location.search når nu du bruger php - Der er det noget nemmere med $_GET["foo"];
Avatar billede josini Nybegynder
26. februar 2004 - 14:20 #2
Framesettet bliver defineret i ren HTML og kun undersiden er i php.
Avatar billede nikolajdu Nybegynder
26. februar 2004 - 14:22 #3
Det er der vel heller ingen grund til - Det er jo bare at ændre til .php i stedet.

Anyway så aner jeg overhovedet ikke hvilket eksempel med location.search du refererer ti :(
Avatar billede josini Nybegynder
26. februar 2004 - 14:29 #4
OK!

Hvis jeg er heldig er kommer der en eller to forbi, der kender roenvings script.
Avatar billede nikolajdu Nybegynder
26. februar 2004 - 15:49 #5
Du kunne jo også bare vise hvad pokker det er du laver - Der er jo inge der kan gætte sig ti hvad du forsøger i en blanding af rén html og php....
Avatar billede josini Nybegynder
26. februar 2004 - 23:02 #6
Det er muligt du ikke ved hvad det er jeg refererer til, men så kunne du vel bare lade spm. ligge til der kom nogen forbi, der faktisk kendte til det. Roenving er jo ikke just ukendt her - det link jeg refererer til i mit spm. findes refereret i 240 spørgsmål...

Men det er slet ikke sikkert det kan lade sig gøre....
Avatar billede nikolajdu Nybegynder
27. februar 2004 - 01:00 #7
Hold da op du er en banan - Du kunne jo hjælpe dig selv og alle mulige andre ved at vise hvad du laver fremfor at sidde og fedte med dine oplysninger. Jeg er oven i købet 110% sikker på at Roenving heller ikke kan hjælpe dig når du taler i tåger - I øvrigt kan han heller ikke noget php.

Vil du have hjælp må du også give os så tilstrækkelige oplysninger at vi kan  hjælpe dig. Lige nu skal alle brugere på eksperten gætte sig frem til hvad præcis du laver - Det er lige præcis det jeg prøver at få dig til at forstå. Roenving kan så komme forbi og fortælle hvor han bruger location.search men så går vi i stå igen. Klap hesten og tænk dig om inden du skriver mere.
Avatar billede thesurfer Nybegynder
28. februar 2004 - 03:40 #8
Som nikolajdu skriver, ville det være bedre med tilstrækkelige oplysninger..

Jeg har læst dit spm igennem, og det lyder som om at du vil ha' noget ligende det her:

Scriptet kaldes med f.eks.: /?test.php&var1=hello&var2=world ('test.php' kan ændres)

** index.php (eller index.htm):

<!-- main.php kan også være main.htm: -->
<iframe src="main.php" name="ifrm" width="400" height="400"></iframe>

<script language="javascript" type="text/javascript">
if (location.search!=""){

// gem urlen i i variablen "ls":
var ls = unescape(location.search);

// find positionen af "&":
var amp = ls.indexOf("&");

// erstat det første "&" med et "?":
src = ls.substring(1, amp) + "?" + ls.substring(amp+1);

// load siden:
top.frames['ifrm'].location.href=src;
}
</script>

** 'test.php' (dette kan ændres):
<?
echo "var1: " . $_GET["var1"] . "<br>";
echo "var2: " . $_GET["var2"];
?>

Det skal lige siges at scriptet kan kaldes med "/?test.php" (uden "/" efter "?") eller "/?/test.php" (med "/" efter ?").
Det kommer an på hvor "test.php" ligger..

--

Alternativet er at kalde scriptet med:
/?test.php?var1=hello&var2=world (dvs 2x "?")

og med koden:

<!-- main.php kan også være main.htm: -->
<iframe src="main.php" name="ifrm" width="400" height="400"></iframe>

<script language="javascript" type="text/javascript">
if (location.search!=""){

// load siden med alt det der står efter det første "?":
top.frames['ifrm'].location.href=unescape(location.search.substring(1));
}
</script>

--

Jeg ved ikke om det er "lovlig" at bruge "?" 2 gange i en url.. Jeg håber, at det er det du ville!! :)
Avatar billede thesurfer Nybegynder
28. februar 2004 - 03:49 #9
Det skal lige siges at "problemet" med roenvings framing kode, er at han kun tager den første parameter, og sender det til iframen..

Forklaring:
url = ?test.php&var1=hello&var2=world

'url' indeholder 3 parametere:
1) test.php
2) var1=hello
3) var2=wold

roenvings script tager kun det første, som er 'test.php'. Min modificering af script sender det hele videre til iframen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester