wie kann man in php auf frames zugreifen?
maddox120
- php
0 Jurik0 Cheatah0 Felix Riesterer
0 Vinzenz Mai0 Tom
Hi, hier mal eine Frage die mir Kopfzerbrechen bereitet:
Wie kann ich in einem php Prozess eine html-Datei in den Frames neustarten lassen:
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Nickname"];
$_SESSION["user_nachname"] = $data["Nachname"];
$_SESSION["user_vorname"] = $data["Vorname"];
header ("Location: intern.php");
//hier soll der befehl hin, dass im linken Frame das html dokument
// Menue.htm geladen wird
}
else
{
header ("Location: formular.php?fehler=1");
}
?>
Bitte helft mir
SChon mal im vorraus danke
Hmm... iframe = client, php = server
Entweder verheimlichst du uns, dass du mit Ajax irgendwas machst, oder aber gibst je nach Fall (in deiner if-Bedingung) in einem Frame dein Menü aus.
Irgendwie fehlt da eine Information - oder ich versteh nicht ganz was du vor hast.
Hi,
header ("Location: intern.php");
das ist ungültiges HTTP. Der Location-Header *muss* eine absolute URL enthalten.
//hier soll der befehl hin, dass im linken Frame das html dokument
// Menue.htm geladen wird
Nicht-die-geringste-Chance. Verzichte auf Frames.
Cheatah
Liebe(r) maddox120,
Wie kann ich in einem php Prozess eine html-Datei in den Frames neustarten lassen:
überhaupt nicht! Welche HTML-Dokumente ein Browser wie anzeigt, kannst Du nur sehr indirekt beeinflussen.
header ("Location: intern.php");
//hier soll der befehl hin, dass im linken Frame das html dokument
// Menue.htm geladen wird
Du könntest den Location-header dahingehend "umbiegen", dass er eben nicht "intern.php" verschickt, sondern auf ein HTML-Dokument verweist, welches ein Frameset enthält. In diesem Frameset kannst Du dann die entsprechenden Dinge tun, nach denen es Dich sosehr verlangt.
ABER: Wozu brauchst Du denn noch Frames, wenn Du eh mit PHP hantierst??????
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Dennis,
header ("Location: intern.php");
//hier soll der befehl hin, dass im linken Frame das html dokument
// Menue.htm geladen wird
dafür ist der Client zuständig. Der Client lädt den linken Frame, sofern er überhaupt vorhanden ist, deswegen neu, weil der Benutzer das so will und die Werkzeuge seines Browsers nutzt oder weil Du Deine 'intern.php', auf die Du nun weiterleitest, entsprechenden Javascriptcode generieren läßt, der den Client dazu verleiten kann, im linken Frame das von Dir gewünschte HTML-Dokument zu laden, wenn im Client Javascript aktiviert ist.
Hilfreich sind folgende Abschnitte aus dem SELF-Raum [1]:
http://de.selfhtml.org/javascript/objekte/frames.htm
http://aktuell.de.selfhtml.org/artikel/javascript/fensterzugriff/
http://forum.de.selfhtml.org/archiv/2006/8/t134560/#m873073
Freundliche Grüße
Vinzenz
[1] bei molily abgekupfert
Hello,
//hier soll der befehl hin, dass im linken Frame das html dokument
// Menue.htm geladen wird
Die Anfrage des Clients an den Server, etwas anzuzeigen sollte immer der erste Schritt sein.
Der zweite ist dann, die Daten für den jeweiligen Benutzer zusammenzustellen und
der dritte Schritt wäre immer eine Anzeige des angeforderten Frames
Es ist eben nur unterschiedlich, was für wen drinsteht.
Wie Du das Frame anforderst, ist Deiner Fantasie überlassen. Das kann durch ein Refresh im Frame geschehen, durch einen Link mit Zielangabe aus einem anderen Frame heraus oder im Extremfalla auch durch Auslieferung eines neuen Framesets an den Client, dann wahrscheinlich aber mit dem Ziel TOP.
Die Aktion geht aber immer vomn Client aus.
Bei Verbindungslosem Protokoll muss man also immer einen Request früher gewappnet sein; das Zie, für eine eventuell angeforderte Information muss schon vorbereitet sein. Man muss ja aber nicht benutzen, wenn der Client wunschlos glücklich sit und nichts mehr wissen will. ;-))
Liebe Grüße
Tom vom Berg