session in frames

  • Themenstarter Themenstarter buzzom
  • Beginndatum Beginndatum
B

buzzom

folgendes problem
ich hab session etc das funktioniert auch alles nur wie bekomme ich jetzt ueber diese frame seite
PHP:
<?
  @session_name("sid");
  @session_start();

  // Pruefen ob login gesetzt
  if (!session_is_registered("s_login")) {
    
    header ( "location: passwdcheck.php" );

  }
  
?>
<?
 include("config.php");
    
    //erstellt frame
  echo "<frameset rows=\"56,*\" frameborder=\"0\">";
  echo "<frame name=\"top\" src=\"top_suche.html\" autoscrolling=\"0\" scrolling=\"auto\" target=\"_self\">";
  echo "<frame name=\"down\" src=\"./kunden_suche.php?login=$adminlogin&passwort=$adminpasswort&suche=$suche\" scrolling=\"auto\">";
  echo "</frameset>";
    

  
?>

die session id in kunden_suche.php?

also ohne frames funzt des alles, aber anscheinend wird ueber den frame nichts weitergegeben


danke
buzzom
 
Hi,
also soweit ich weiss muss die Session-ID ja von jeder Seite zur naechsten Seite übergeben werden, sonst geht diese ja verloren.
Die Session-id ist eindeutig und daran kann Php die richtigen session
variablen wiederherstellen.

Jedes Frame ist ja Quasi eine Seite.
Darum sollest du im Frameset die Session starten und
an jedes Frame welches klickbare Links enthaelt, welche
zu seiten führen in der du die Session benötigst oder die noch weiter darunter liegen, die Session-Id zB. mit get weitergeben.

wenn ich was falsches gesagt habe oder jemand ergänzen möchte,
möge er/sie es doch tun :-)

gruss mage
 
Hi,
nach längerem suchen hab noch was dazu gefunden:

Wenn man auf einer Seite die Sessionvariablen nicht ändert, dann braucht man dort den neuen Zustand nicht mit page_close() zu speichern, d.h. man kann das page_close() auf dieser Seite weglassen.

Meist sieht ein Frameset wie folgt aus:
Code:
+- frameset -----------+
|      |               |
| nav  | content       |
|      |               |
|      |               |
|      |               |
|      |               |
|      |               |
+------+---------------+
Wenn frameset und nav den Zustand nicht ändern, brauchen diese Frames auch kein page_close() .

Verwendet man GET-Mode in Frames, dann muß die Session-ID durch die Frames nach unten durchgereicht werden.

PHP:
<?php page_open(array("sess" => "Example_Session")) ?>
<frameset cols="150,*">
<frame name="nav"     src="<?php $sess->purl("nav.php3" ?>">
<frame name="content" src="<?php $sess->purl("content.php3"?>">
</frameset>

PS: das tut stammt von Kristian Köhntopp und ich habs mal frech von http://www.dclp-faq.de/q/q-phplib-frames.html hier rein kopiert.
 
Zuletzt bearbeitet:
Zurück