Tab abhängige Session Variablen

steyrblade

Mitglied
Hi,
ich habe eine Anwendung die diverse Daten, z.B. durch manuelle Auswahl (Dropdown usw.), in Sessionvariablen zwischen speichert.
Abhängig von dieser Auswahl werden Daten aus einer Datenbank geladen.

Die Anwender würden nun gerne mehrere Tabs öffnen mit einer unterschiedlichen Auswahl.
Die Auswahl darf aber nicht verloren gehen, da eine automatische bzw. auch manuelle Aktualisierung der Daten möglich sein muss (ohne erneute Auswahl).

D.h. ich müsste Tab abhängig den Session Namen ändern:
=>
session_name("Tab-X");
session_start();


Im nachhinein müsste die Seite im Tab noch wissen welche Session zu ihr gehört.
Hat jemand da was passendes für mich.
Danke
 
Moin,

du könntest dafür spezielle Links preparieren(für die neuen Tabs), indem du per GET gewissermassen einen zufälligen Tab-Namen übergibst.
Das erfordert natürlich Disziplin von den Nutzern, diese dürfen die neuen Tabs nur über diese Links öffnen und dürfen einen Tab nicht Aktualisieren(ausser über dafür vorgesehende Links).
 
gut soweit ihr mir das schon klar wie ich zufällig einen Session Namen setze.
Aber die Aktualisierung ist eben das Wichtige, sonst würde ich ja keine Sessions benötigen. Zudem ist dann immer noch das Problem: woher weiß die Seite in Tab2 welche Session zu ihr gehört. Vllt mit cookies ?

Kann man denn Tabs überhaupt mit PHP (meinetwegen auf JS) irgendwie ansprechen.
Also irgendwelche parameter die man übergeben/auslesen kann.
Haben Tabs einen Index Tab-1 Tab-2.
Mit Tabs habe ich gar keine Grundkenntnisse.
 
Hier mal nen Beispiel, wie es gemeint ist:
PHP:
<?php
  if(!isset($_GET['tabId']))
    {
      header('Location:'.$_SERVER['PHP_SELF'].'?tabId='.md5(time()));
      exit();
    }
  session_start();
  $tabId=$_GET['tabId'];
  if(!isset($_SESSION[$tabId]))
    {
      $tabId=md5(time());
      $_SESSION[$tabId]=array('tabsessionVar'=>$tabId);
      echo '<b>neues Tab</b> #';
    }
  else
    {
      echo 'vorhandenes Tab #';
    }
       echo $tabId.'<hr>';
?>
<a href="?tabId=<?php echo $tabId;?>">Tab neu Laden</a>|
<a href="<?php echo $_SERVER['PHP_SELF'];?>" target="_blank">neuer Tab</a>

Aktualisieren geht damit auch.
Das einzige Problem dabei wäre, wenn man die Adresse bei "Tab neu Laden" per Hand in einem neuen Tab öffnet...da könnte man mit JS vorbeugen.
 
Ich dachte bisher eigentlich, dass man keine Arrays in Sessions speichern kann.
Da ich das mal gelesen hatte, habe ich das nie getestet. Geht aber wohl.
Damit ist es nicht nötig für jeden Tab einen neuen session_name(""); zu setzen

Ich denke damit sollte es klappen.
Danke
 
Zurück