Jürgen: Frames und links mit endung Fragezeichen

Guten Morgen!

Jemand war so nett und hat mir geholfen das problem mit verweisen bei framesets zu lösen...glaubte ich zumindest!

Das Problem ist folgendes:

Bei einer newsletter subscription bekommt der subscriber eine url zugeschickt die er anklicken muss damit seine/ihre subscription auch gültig ist.
So eine URL schaut in etwa so aus

http://www.mydomain.com/phpwebsite/mod.php?mod=newsletter&op=confirm&lid=4&email=email@isp.com&code=720f2717eb0fb6e351091be614580b9c

Diese URL linkt zu einer Seite innerhalb eines Framesets, wodurch die Website ohne das frameset angezeigt wird..

Lösen wollte ich das ganze anhand des Javascript beispiels welches ich auf selfhtml gefunden habe.
Das script sieht so aus
In der index.php wo sich die frameset definition befindet
<head>...
<SCRIPT language="JavaScript">
<!--
 function checkFramecall() {
  var Adressanhang=location.search;
  if(Adressanhang)
  frames.mitte.location.href=Adressanhang.substring(1,Adressanhang.length);
 }
//-->
</SCRIPT>
</head>
<body onLoad="checkFramecall()">

Und im header.php
<head>...
<script language="JavaScript"><!--
 function checkFrameset() {
 if(!parent.mitte)

location.href="index.php?" + location.pathname;
 }
// -->
</script>
</head>
<body onLoad='checkFrameset()'>

Das problem an der ganzen Sache ist die das das script zwar funktioniert, und er ladet ansich auch die seite wieder neu ins frameset hinein, einziges problem an der sache ist das die url so aussieht
http://www.mydomain.com/phpwebsite/index.php?/phpwebsite/mod.php
Er hängt das hier nicht mehr hinten an den path an
?mod=newsletter&op=confirm&lid=4&email=email@isp.com&code=720f2717eb0fb6e351091be614580b9c
Was ich aber unbedingt brauche, da ich sonst eine fehlermeldung bekomme..
Nun meine frage, wie kann ich das Javascript ändern so das er beim laden des framesets nicht nur den path anhängt sondern auch den "substring"?

Vielen dank schon mal im voraus!

Liebe Grüße aus Wien,

Jürgen

  1. Hallo Jürgen

    Bei einer newsletter subscription bekommt der subscriber eine url zugeschickt die er anklicken muss damit seine/ihre subscription auch gültig ist.
    So eine URL schaut in etwa so aus

    http://www.mydomain.com/phpwebsite/mod.php?mod=newsletter&op=confirm&lid=4&email=email@isp.com&code=720f2717eb0fb6e351091be614580b9c

    das ist doch ein klar definierter Sonderfall. Hier würde ich nicht mit JavaScript arbeiten, sondern ganz einfach mit php.

    Serverseitig auswerten, ob das ein entsprechender Request ist und das Frameset schreiben. An die gewünschte Seite dann die entsprechenden Parameter weiterreichen + Kennung, dass Frameset vorhanden ist.

    Ansonsten zu deinem Problem

    Und im header.php
    <head>...
    <script language="JavaScript"><!--
    function checkFrameset() {
    if(!parent.mitte)

    location.href="index.php?" + location.pathname;
    }
    // -->
    </script>
    </head>
    <body onLoad='checkFrameset()'>

    http://www.mydomain.com/phpwebsite/index.php?/phpwebsite/mod.php
    Er hängt das hier nicht mehr hinten an den path an
    ?mod=newsletter&op=confirm&lid=4&email=email@isp.com&code=720f2717eb0fb6e351091be614580b9c

    Du hängst hier ja auch nur den Pfadnamen an. Was du brauchst ist location.href. Siehe dazu http://selfhtml.teamone.de/javascript/objekte/location.htm

    Viele Grüße

    Antje