[Variablen] Session_Start in neuem Fenster - Variable weg!?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Variablen] Session_Start in neuem Fenster - Variable weg!?

    Hallo zusammen,

    ich hoffe mir kann jemand helfen ...

    Ich habe ein Fenster, in dem eine Session gestartet ist. Über Javascript öffne ich ein neues Fenster und führe dort wieder Session_Start aus. Alles wunderbar - die Session-Variablen sind in dem neuen Fenster vorhanden.
    Definiere ich jetzt aber in diesem neuen Fenster eine neue Session-Variable und aktualisiere dann das andere Fenster wird die neue Session-Variable gelöscht. Die alten sind weiterhin vorhanden. Wieso? Und wie kann ich erreichen, dass mir die neue Variable erhalten bleibt?

    Danke für jede Hilfe.

    Fabian

  • #2
    zeig mal bitte einen minimalen auszug deines codes.

    Kommentar


    • #3
      Naja, was soll ich da posten:

      Ich rufe im alten wie auch im neuen Fenster am Anfang

      // Die Session wird gestartet
      session_start();

      auf. Im alten Fenster habe ich mit

      $_SESSION['nickname'] = $nickname;
      $_SESSION['user_id'] = $id;

      Session-Variablen definiert.

      Die bleiben mir im neuen Fenster auch erhalten. Jetzt definiere ich im neuen Fenster mit

      $_SESSION['spiel_id'] = $spiel_id

      eine weitere Session-Variable.
      Aktualisiere ich hier das Fenster bleiben mir alle Variablen erhalten.

      Aktualisiere ich aber das alte Fenster löscht er mir $_SESSION['spiel_id'], die anderen beiden bleiben erhalten.

      Kommentar


      • #4
        haste das ganze mal online, und das sessionarray mal komplett (auf der ursprungsseite und auf der popupseite) ausgegeben?

        Kommentar


        • #5
          Komisch, jetzt gehts. Habe nichts anderes gemacht, als den Variablennamen geändert. Aber der war nicht doppelt vorhanden, oder so. Darauf hatte ich schon geachtet. Naja, trotzdem danke.

          Kommentar


          • #6
            jaja, und ich hab schon Pferde kotzen sehen ; )

            Kommentar


            • #7
              Hallo

              ich habe ein ganz ähnliches Problem:
              Vieleicht kann mir ja jemand weiterhelfen ...

              ich habe eine Seite die mittels
              PHP-Code:
              session_start() 
              an einer session teil nimmt

              in der Session wird die $_SESSION Variable "nick" definiert

              Sie wird benötigt um auf user-mailboxen zu zugreifen und die anzahl der Nachrichten wiederzugeben mittels:
              PHP-Code:
              $sqlab "select * from ".$_SESSION["nick"]."_mailbox";
               
              $res mysql_query($sqlab);
               
              $num mysql_num_rows($res);
               echo 
              $num
              Mittels javascipt öffne ich nun über einen link ein Popup

              Das neue fenster nutzt ebenfalls session_start()


              Das Hauptfenser lädt sich automtisch neu .

              Wenn man nun aber das pop öffnet ,

              bekomme ich nach dem reloaden des Hauptfensters folgenden Fehler:
              Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /web/1996/home2.php on line 58

              Dann habe ich versucht die Session variable "nick" mitausgeben zu lassen , aber nach dem load des Popups - ist diese im Hauptfenser leer...

              Wird die Session variable automatisch gelöscht , wenn die aktuelle session in einem andern Fenster fortgeführt wird?

              oder mache ich einen Fehler bei der Variable ?

              Kommentar


              • #8
                Wird die Session variable automatisch gelöscht , wenn die aktuelle session in einem andern Fenster fortgeführt wird?
                Nein!

                Das Hauptfenser lädt sich automtisch neu .
                Wie macht es da.

                Prüfe mit session_id() ob die ID beibehalten wird. Wenn dies nicht der Fall ist, sorge dafür.

                PS: Dein DBlayout ist schlecht. Aber das hat nicht mit dem Thema zu tun und wird hier auch nicht weiter beredet. an alle anderen.

                Kommentar


                • #9
                  Also ich habe jetzt nochmal genau alles durchgeprüf,

                  mittels:
                  session_id()
                  $_SESSION["nick"]

                  die session id bleibt immer gleich
                  sie kommt auch im pop up an

                  und auch die session variable "nick" kommt im pop up an

                  allerdings geht sie irgendwie verloren, beim nächsten reload der
                  hauptseite ist sie weg ... bei gleichbleibender session id !

                  Kommentar


                  • #10
                    ohne den entsprechenden code müssen wir leider raten. du löscht sie irgendwo?

                    gruß
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      sie kommt auch im pop up an
                      Ja klar, das war auch gar nicht dein Problem, oder? Ich dachte der Session-Wert geht im Hauptfenster verloren.

                      Kommentar


                      • #12
                        @Kropff: der code steht weiter oben

                        @TobiaZ:

                        ja genau , Sie geht im Hauptfenster verloren(oder was auch immer mit ihr passiert)

                        Sie bleibt im Hauptfenster auch erhalten , egal wie oft es reloaded.

                        WENN man allerdings das popup aufruft , ist Sie danach aus der
                        session variablen gelöscht...
                        und somit im hauptfenster nicht mehr verfügbar !

                        ich hoffe das ist jetzt noch so einigermassen verständlich ...

                        Kommentar


                        • #13
                          Und die Id bleibt weiterhin die gleiche?
                          Was passiert mit anderen Variablen die du in der Session speicherst?

                          Ansonsten hat der Kropff schon recht. Du löschst sie irgendwo, aber ohne den entsprechenden Code (der oben NICHT steht) kann dir keiner Helfen.

                          Kommentar


                          • #14
                            Habe die session Variablen am Anfang und am Ende der Pop up seite ausgeben lassen.

                            die $_SESSION["nick"] Variable wird am ende nicht ausgegeben ... also wird sie irgendwo im PopUp gelöscht.

                            meine andere session variable "x" bleibt aber erhalten...

                            scipt der popup seite:
                            PHP-Code:

                            <?php session_start();
                                  echo 
                            "session id: ".session_id()."<br />";
                                  echo 
                            "nick: ".$_SESSION["nick"]."<br />";
                                  echo 
                            "x".$_SESSION["x"]."<br />";
                            ?>


                            /*html code*/ 
                                
                                /*formular*/
                                   An: <select name="an">
                                      
                                        /*schleife für <option> ausgabe*/
                                         <?php
                                           
                            include "dbcon.inc.php";
                                     
                            $sqlab "select nick from user";
                                             
                            $nickliste mysql_query($sqlab);

                                                 while(
                            $nick mysql_fetch_assoc($nickliste))
                                                     {
                                                     echo 
                            "<option>".$nick["nick"]."</option>";
                                                     }
                                    
                            ?>
                                       </select>

                                     <?php echo "<input type=\"hidden\" name=\"from\" value=\" ".$_SESSION["nick"]. "\"></input>"?>

                                     /*formular Ende*/

                                   <?php echo "nick: ".$_SESSION["nick"]."<br />"
                                      echo    
                            "x".$_SESSION["x"]."<br />"?>
                                
                                /*html ende*/

                            So aber ich ändere ja nix an der $_SESSION Variable - oder ich sehe es nicht .

                            Oder vieleicht liegt es am zu häufigen gebrauch von "nick" das ich das ja auch für die variable $nick benutze ... ?

                            Kommentar


                            • #15
                              Okay habe das Problem gelöst ... habe die $_SESSION Variable umbenant in "nickn"

                              aber ich verstehe trotzdem nicht wieso sich $nick["nick"] und $_SESSION["nick"] in die "quere" kommen sollen sind doch zwei völlig verschiedene sachen !?

                              VIELEN DANK für Eure Hilfe !!!

                              Kommentar

                              Lädt...
                              X