session variables & frames [dringend!]

relaxodeluxe

Mitglied
ha, ich mal wieder. nerv ich schon? :D

zu folgendem prob habe ich auf diesen seiten nur einen kurzen beitrag gefunden, bringt mir aber nicht soviel, deswegen:

ich habe eine seite mit 4 frames, die einander nach und nach aufrufen.
das funzt so:

Code:
 - - - - - - - - - - 
|     |             |
|  f1 |             |
 - - -      f3      |
|     |             |
|  f2 |             |
|     |             |
 - - - - - - - - - -

frameset wird aufgerufen: seite f1 lädt, eventhandler "onload" lädt seite f2, eh "onload" lädt von hier aus f3
in f1 wird die SESSION erzeugt, dann variable x1,x2 und x3 registriert. per SELECT ausgewählte values werden per FORM an die selbe seite geleitet (f1) und dann in der SESSION als variablen gespeichert. klappt alles hervorstehend. die sessionvariablen haben sie werte:
x1=value1
x2=value2
x3=value3

jetzt möchte ich diese werte auch in f2 nutzen. dort starte ich also zunächst die SESSION ( session_start() ).beim versuch, die variablen auszulesen, passiert allerdings nichts mehr. ein blick mit dem TEXTEDITOR ins SESSION-file zeigt:
alle registrierten variablen sind LEER.

WARUM? und WIE kann ich das umgehen? ich will die sessionvariablen in jedem frame verfügbar machen, und auch von jedem frame aus editieren können...

weiss jemand RAT?
wäre leider echt dringend!

millionenfach DANK

reldel
 
Soviel ich weiß, wird in jedem einzelnen Frame ne neue Session gestartet, also sind somit natürlich die Werte aus deiner ursprünglichen Session nicht vorhanden.

Starte die Session am besten direkt im Frameset und übergib jeden einzelnen Frame die Session-Id als Variable beim Aufruf mit.

Müsste eigentlich gehen...
 
Du wirst wohl an jede url die PHPSESS (id) haengen muessen damit deine Session auch in den anderen frames funktioniert.

oder ganz auf Frames verzichten, weil die technik veraltet ist.. hehe
:-)
 
meint ihr so:

// -snip-

<?
sid=session_id();
?>
<frameset cols="30%,*">
<frame src="f1.php?sid=<? echo $sid; ?>">
<frame src="f2.php?sid=<? echo $sid; ?>">
</frameset>

// -snip-

???

dann würde die ID zumindest beim ersten laden allen seiten des framesets bekannt. wie aber übergebe ich die ID über das beschriebene "onload". etwa so?. dann sind sie registrierte vars wieder weg... doof. die andere vars dürften ja nicht stören, die interessieren nur zischen zwei aufrufen...

PHP:
(...)
<!-- JScripts/JavaScripts -->
<script language="JavaScript">

// -snip-	

function viewDirs(sid,process,path){
//
  parent.view.location.href = "browse.php?sid=" + sid + "path=" + 
path + "";

// -snip-
	}	
</script>

<body onload="viewDirs('<? echo $sid; ?>','<? echo $proc; ?>','<? echo $suchBase; ?>')">
(...)

@loki: da solls doch tatsächlich komplexe intranet-anwendungen geben, die noch framesets benutzen. und die sind keineswegs veraltet... :)

reldel.
 
Zurück