php file in frameset laden van buiten de server

Pagina: 1
Acties:

  • Ehv_BramBo
  • Registratie: November 2000
  • Laatst online: 13-04 22:30
Ik heb een systeem gemaakt waarmee ecards verstuurd kunnen worden. De kaart zelf (gewoon een jpg-tje) staat op de server, en een persoonlijke boodschap wordt aan de hand van de URL uit een database gehaald en erbij gezet.
Mensen krijgen dan een mailtje met een link toegestuurd die er bijvoorbeeld zo uitziet: http://www.adres.nl/index.php?id=1&pass=1687. Met die link kunnen ze hun kaart ophalen en zien ze hun persoonlijke boodschap.

Dit werkt allemaal goed, maar nu is het probleem dat het schript op een andere server komt te staan dan de frameset waar de link naar verwijst, en dat de server waar de frameset op staat geen php ondersteund.

Ik wil dus in de frameset een pagina laden die van een andere server afkomt. Dit is op zich natuurlijk geen probleem, maar de variabelen ($id en $pass) moeten dus wel aan die URL meegegeven worden (en dat kan dus niet met php).

Zelf zat ik er aan te denken om de variabelen met javascript uit de URL te lezen en deze dan mee te geven, maar ik heb zelf geen idee hoe ik dat ga aanpakken (mijn java script kenis is ook niet zo goed). Mischien is er ook iemand die een betere oplossing weet.

Ik hoop dat mijn verhaal een beetje duidelijk is, en dat iemand een oplossing weet.

GreetZ,

Bram

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

In javascript kan je de vars uit de window.location.search halen.
Een voorbeeldje om te laten zien hoe het werkt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script language="javascript" type="text/javascript">
function getQueryString()
{
    var i, aGetVars = new Array();
    var oWindow = arguments[0] || self;
    var sSearch = oWindow.location.search;
    if (sSearch.length > 1)
    {
        sSearch = sSearch.substring(1, sSearch.length);
    
        var aNameValuePairs = sSearch.split("&");
        for (i=0; i<aNameValuePairs.length; i++)
        {
            aNameValue = aNameValuePairs[i].split("=");
            aGetVars[unescape(aNameValue[0])] = unescape(aNameValue[1]);
        }
    }
    return (aGetVars);
}

var aGet = getQueryString();
for (var sItem in aGet)
    document.write (sItem + ' = ' + aGet[sItem] + '<br />');
</script>

Today's subliminal thought is:


  • Ehv_BramBo
  • Registratie: November 2000
  • Laatst online: 13-04 22:30
Bedankt Annie, snap wat je bedoeld.
Maar is er niemand die een iets duidelijker voorbeeld zou kunnen geven???

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op dinsdag 04 december 2001 10:24 schreef Ehv_BramBo het volgende:
Bedankt Annie, snap wat je bedoeld.
Maar is er niemand die een iets duidelijker voorbeeld zou kunnen geven???
je snapt het wel, maar het is niet duidelijk genoeg :?

de functie getQueryString() geeft een array terug van alle name-value pairs.
bijv:
http://www.domein.nl/index.html?foo=bar&naam=Annie

geeft:
eenArray['foo'] = 'bar';
eenArray['naam'] = 'Annie';

Het enige wat je dus hoeft te doen is de functie toevoegen aan je pagina en deze aanroepen en het resultaat in een var stoppen.

Het for (var sItem in ...) kan je vergeten, dat was alleen maar als voorbeeldje toegevoegd om alle waarden af te drukken naar het scherm.

Today's subliminal thought is: