Aus dem Frameset springen nach "headerweiterleitung"
Bernd
- programmiertechnik
0 Christian Kruse0 Bernd
0 Cheatah
Hallo,
ich habe eine Seite mit Login, wird die Flashversion gewählt so wir in ein Frameset gesprungen. Der obere Frame beinhaltet eine Navigation in Flash, der untere Teil beinhaltet den content.
Die beiden Seite überprüfen bei jeder Aktion des users ob die Session noch existiert, existiert sie nicht so geht das Script in folgende Bedingung.
else
{
$login="false";
session_register ('login');
header("Location:/");
}
das funktioniert eigentlich gut, z.B. bei der "Flashlosen" Version die auch keine Frames hat.
Leider erscheint nun logischerweise der login in beiden Frames, ich will aber das sie quasi das target _parent mitbekommen.
Klar ist mir das man headern keine targetangaben mitgeben kann.
Leite ich erst auf ein anderes Dokument um so könnte ich ja mit meta refresh arbeiten, leider kann ich dort auch keine target angaben machen.
Wenns möglich ist möchte ich auf Javascript verzichten.
Hat irgendwer eine Idee ?
mfg
Bernd
Hallo Bernd,
[...]
Hat irgendwer eine Idee ?
Einzige noch moegliche Variante (ausser JS): verzichte auf
Frames. Du wirst nicht darum herum kommen, dass der User einen
Link klickt oder du JS benutzt. Was anderes ist nicht moeglich.
Gruesse,
CK
Hallo,
wie würde es denn mit JS gehen ?
Werde dann wohl user die kein JS aktiviert haben einen Link anbieten der zum Login führt.
mfg
Bernd
Hallo Bernd,
wie würde es denn mit JS gehen ?
Oh, relativ einfach. Die Informationen dazu findest du hier:
http://selfhtml.teamone.de/javascript/objekte/frames.htm
sowie hier:
http://selfhtml.teamone.de/javascript/objekte/location.htm
Daraus ergibt sich dann sowas wie
top.location.href = 'uri';
Haettest du ueberigens problemlos auch selber finden koennen.
Werde dann wohl user die kein JS aktiviert haben einen Link
anbieten der zum Login führt.
So ists recht ;))
Gruesse,
CK
Hi,
header("Location:/");
warum versendest Du illegale Daten? Der Location-Header _muss_ eine absolute URL beinhalten.
Leider erscheint nun logischerweise der login in beiden Frames, ich will aber das sie quasi das target _parent mitbekommen.
HTTP kennt keine Fenster oder Frames. Derartiges ist ausschließlich clientseitig bekannt (_möglicherweise_), und muss daher auch clientseitig stattfinden.
Wenns möglich ist möchte ich auf Javascript verzichten.
Gute Wahl. Verzichte zusätzlich auf Frames, und alle sind glücklich.
Cheatah
Hallo,
header("Location:/");
warum versendest Du illegale Daten? Der Location-Header _muss_ eine absolute URL beinhalten.
is doch latte so sucht er sich einfach den DirectoryIndex und gut ists.
Wen störts...funktioniert überall.
mfg
Bernd
hi,
warum versendest Du illegale Daten? Der Location-Header _muss_ eine absolute URL beinhalten.
is doch latte so sucht er sich einfach den DirectoryIndex und gut ists.
das ist nicht das, was cheatah meinte.
ein location-header muss aber lau http/1.1 auf einen kompletten URI inklusive protokollangabe verweisen.
"/unterzeichnis/.datei.php" ist also nicht erlaubt, die schreibweise
"http://www.domain.test//untverzeichnis/.datei.php" ist zwingend erforderlich.
Wen störts...funktioniert überall.
wenn du dich als kleingeist outen willst, machst du dein sache gut :-)
nur weil es dort, wo du es unter deinen systembedingungen getestet hast, zufällig formuliert, kannst du daraus keine sicherheit herleiten.
gruss,
wahsaga