Session variable verschwindet

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

  • Session variable verschwindet

    Hallo,

    ich habe folgendes Problem.

    Auf Seite 1 kann man einen Kragen auswählen z.b. Berlin, der Wert wird per Form (POST) an die Seite (Grafik.php übergeben, diese blendet nun einen Layer mit dem Kragen ein.

    Auf Seite 2. Kann man eine Knopfleiste wählen, das gleiche Schema wie Seite 1. der Name wird an die Grafik.php übergeben. Nun verschwindet aber der zuvor ausgewählte Kragen. Die Variable für den Kragen ist plötzlich leer, obwohl wir uns noch in der selben Session befinden.

    Kann mir da vielleicht jemand helfen?

    Hier der Quelltext der Grafik.php

    <?
    include "config.inc.php";
    //include "wcreate.php";
    $sql = "select * from artikel";
    $res = mysql_query($sql,$link) or die(mysql_error());
    mysql_error();
    while ($ligne = mysql_fetch_object($res))
    {
    if ($ligne->name == $_SESSION['kragen']) { $kragenm = $ligne->mlink; $kragenn = $ligne->name;}
    if ($ligne->name == $_SESSION['knopfleiste']) { $knopfm = $ligne->mlink; $knopfn = $ligne->name;}
    if ($ligne->name == $_SESSION['brusttaschenform']) { $brustm = $ligne->mlink; $brustn = $ligne->name;}
    if ($ligne->name == $_SESSION['manschette']) { $manschm = $ligne->mlink; $manschm2 = $ligne->mlink2; $manschn = $ligne->name; }
    if ($ligne->name == $_SESSION['rueckenteil']) { $rueckenm = $ligne->mlink; $rueckenn = $ligne->name; }

    }


    ?>

    <!--knopfleisten mini-->
    <div id="<? { echo $knopfn; } ?>"><img src="<? echo $knopfm; ?>" border="0"></div>


    <!--Kragen mini-->
    <div id="<? { echo $kragenn; } ?>"><img src="<? echo $kragenm; ?>" alt="" border="0"></div>
    <div id="trenn"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></div>

    Gruß

    Sven

  • #2
    ich sehe kein session_start()

    das muss auf _jede_ seite
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Re: Session variable verschwindet

      Original geschrieben von sven_voecking
      obwohl wir uns noch in der selben Session befinden.
      auf welchem wege hast du dies verifiziert?


      und wo wird deine session eigentlich gestartet, geschieht dies bereits in der config.inc.php?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Session gestartet und verifiziert

        Hallo,

        sorry ich habe natürlich noch die wcreate.php included diese ist dann nicht auskommentiert. Dort wird dann die Sesseion gestartet. Hier der Code

        <?
        if ($PHPSESSID == NULL) {
        session_start();
        session_id();
        $sid = session_id();
        $_SESSION['wid'] = $sid;
        echo $_SESSION['wid'];
        //echo "drin2<br>phpsid: $PHPSESSID";
        //echo "<br>muh: $sid";
        include('config.inc.php');
        $date = date('Y-m-d-H:i:s');
        $sql="INSERT INTO w_korb (wid,ip,timestamp) VALUES ('".$sid."','".$REMOTE_ADDR."','".$date."')";
        mysql_query($sql,$link);
        } else {
        //echo "bla: $PHPSESSID";
        };
        ?>


        Verifiziert habe ich es indem ich die Session ID habe ausgeben lassen mir echo.

        Gruß

        Sven

        Kommentar


        • #5
          PHPSESSID ist der name deiner session?

          du denkst also, wenn du die session einmal gestartet hast, in $PHPSESSID also etwas drinsteht, dann musst du die sesion nie wieder starten?

          schreibe als allerersten befehl mal session_start();
          _ohne_ es abhängig von irgendwas zu machen
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            ich habe die wcreate so umgeschrieben (auskommentiert).

            nun setzt er auch die variable für den Kragen nicht mehr.

            Inhalt wcreate.php

            <?
            //if ($PHPSESSID == NULL) {
            session_start();
            session_id();
            $sid = session_id();
            $_SESSION['wid'] = $sid;
            echo $_SESSION['wid'];
            //echo "drin2<br>phpsid: $PHPSESSID";
            //echo "<br>muh: $sid";
            include('config.inc.php');
            $date = date('Y-m-d-H:i:s');
            $sql="INSERT INTO w_korb (wid,ip,timestamp) VALUES ('".$sid."','".$REMOTE_ADDR."','".$date."')";
            mysql_query($sql,$link);
            //} else {
            //echo "bla: $PHPSESSID";
            //};
            ?>


            Inhalt 1.php (startseite)

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
            <?
            include "config.inc.php";
            include "wcreate.php";
            $sql = "select * from artikel where kategorie = 'kragen'";
            $res = mysql_query($sql,$link) or die(mysql_error());
            mysql_error();
            $i = "0";
            while ($ligne = mysql_fetch_object($res))
            {
            $i++;
            $kragenlink[$i] = $ligne->link;
            $kragenname[$i] = $ligne->name;
            }
            ?>
            <html>
            <head>
            <link rel="STYLESHEET" type="text/css" href="cssjss/akte13.css">
            <title>Kragen</title>
            </head>

            <body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
            <!--Rahmen-->
            <div id="rahmenhemd"><img src="images/rahmen.gif" alt="" width="201" height="382" border="0"></div>
            <!--Hemdform-->
            <div id="hemdform"><img src="images/Frontansicht.gif" width="170" height="229" alt="" border="0"></div>
            <!--Kragen mini-->
            <table border="0" cellspacing="0" cellpadding="0">
            <tr>
            <td colspan="2"><img src="images/blank.gif" width="1" height="20" alt="" border="0"></td>
            </tr>
            <tr>
            <td><img src="images/blank.gif" width="260" height="1" alt="" border="0"></td>
            <td><!-- Beginn Tabelle Kragen-->
            <table border="0" cellspacing="0" cellpadding="0" width="520">
            <!--Anfang Kategorie-->
            <tr>
            <td colspan="3" class="kategorie">&nbsp;Kragen</td>
            </tr>
            <!--Ende Kategorie-->
            <!--Beginn Datensatz Kragen-->
            <tr>
            <td colspan="3" class="habstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
            </tr>
            <tr>
            <td colspan="3" class="text"><br>&nbsp;Wir beginnen nun mit der Auswahl des Kragens. Je nachdem für welchen &nbsp;Zweck Sie Ihr Hemd konfigurieren wählen sie bitte den Kragen aus.<br><br></td>
            </tr>
            <tr>
            <td colspan="3" class="habstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
            </tr>
            <tr>

            <?
            $i2 = "0";
            $i3 = "0";
            while ($i2 < $i) {
            $i3++;
            $i2++;
            ?>

            <td align="center" ><form action="shop.php?id=22" method="post">
            <INPUT TYPE="IMAGE" NAME="Vorderteil" SRC="<? echo $kragenlink[$i2]; ?>" BORDER="0" /><input type="hidden" value="<? echo $kragenname[$i2]; ?>" name="uebergabe"/></form></td>
            <td class="vabstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
            <?
            if (!$kragenlink[$i2+1] && $i3!=2) {
            ?>
            </tr>
            <tr>
            <td align="center" class="bezeichnung"><? echo $kragenname[$i2]; ?></td>
            <?
            }
            if ($i3 == "2")
            {
            while ($i3 > "0")
            {

            ?>
            </tr>
            <tr>
            <td align="center" class="bezeichnung"><? echo $kragenname[$i2-"1"]; ?></td>
            <td class="vabstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
            <td align="center" class="bezeichnung"><? echo $kragenname[$i2]; ?></td>
            </tr><tr>
            <td colspan="3" class="habstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
            </tr>

            <?
            $i3 = "0";
            }
            }


            }
            ?>
            <!--Ende Datensatz Kragen-->
            </table>
            <!--Ende Tabelle Kragen-->
            </td>
            </tr>
            </table>
            <!-- Ende Aussentabelle !-->





            </body>
            </html>

            Kommentar


            • #7
              Original geschrieben von sven_voecking
              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
              <?
              include "config.inc.php";
              include "wcreate.php";
              Original geschrieben von http://www.php.net/session-start
              If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                OffTopic:
                @sven_voecking
                das forum hat so schicke php-tags, die man auch nutzen sollte/muss!

                und achte auch auf die zeilenumbrüche!
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Sorry,

                  ich bin noch recht neu hier und werde dann zukünftig die Funktionen nutzen.

                  By the way, das Problem ist nicht das ich keine Session ID bekomme, die ist vorhanden und bleibt auch die ganze Session über die selbe.

                  Das Problem ist das wenn ich eine Session Variable übergeben habe und dann eine zusätzliche setze, die erste plotzlich verschwunden oder leer ist.

                  Gruß

                  Sven

                  Kommentar


                  • #10
                    Original geschrieben von sven_voecking
                    ich bin noch recht neu hier und werde dann zukünftig die Funktionen nutzen.
                    fein. dann kannst du direkt anfangen die edit-funktion zu testen, um deinen code entsprechend zu formatieren.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Anbei die Inhalte der Dateien, ich hoffe das ist so O.K.

                      Inhalt wcreate.php

                      PHP-Code:
                      <?
                      //if ($PHPSESSID == NULL) { 
                      session_start(); 
                      session_id();
                      $sid = session_id();
                      $_SESSION['wid'] = $sid;
                      echo $_SESSION['wid'];
                      //echo "drin2<br>phpsid: $PHPSESSID";
                      //echo "<br>muh: $sid";
                      include('config.inc.php');
                      $date = date('Y-m-d-H:i:s');
                      $sql="INSERT INTO w_korb (wid,ip,timestamp) VALUES ('".$sid."','".$REMOTE_ADDR."','".$date."')";
                      mysql_query($sql,$link);
                      //} else {
                      //echo "bla: $PHPSESSID";
                      //};
                      ?>
                      Inhalt 1.php (Startseite)

                      PHP-Code:
                      <? 
                      include "config.inc.php";
                      include "wcreate.php"; 
                      $sql = "select * from artikel where kategorie = 'kragen'";
                      $res = mysql_query($sql,$link) or die(mysql_error());
                      mysql_error();
                      $i = "0";
                      while ($ligne = mysql_fetch_object($res))
                      {
                      $i++;
                      $kragenlink[$i] = $ligne->link;
                      $kragenname[$i] = $ligne->name;
                      }
                      ?>
                      <html>
                      <head>
                      <link rel="STYLESHEET" type="text/css" href="cssjss/akte13.css">
                      <title>Kragen</title>
                      </head>

                      <body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
                      <!--Rahmen-->
                      <div id="rahmenhemd"><img src="images/rahmen.gif" alt="" width="201" height="382" border="0"></div>
                      <!--Hemdform-->
                      <div id="hemdform"><img src="images/Frontansicht.gif" width="170" height="229" alt="" border="0"></div>
                      <!--Kragen mini-->
                      <table border="0" cellspacing="0" cellpadding="0">
                      <tr>
                      <td colspan="2"><img src="images/blank.gif" width="1" height="20" alt="" border="0"></td>
                      </tr>
                      <tr>
                      <td><img src="images/blank.gif" width="260" height="1" alt="" border="0"></td>
                      <td><!-- Beginn Tabelle Kragen-->
                      <table border="0" cellspacing="0" cellpadding="0" width="520">
                      <!--Anfang Kategorie-->
                      <tr> 
                      <td colspan="3" class="kategorie"> Kragen</td>
                      </tr>
                      <!--Ende Kategorie-->
                      <!--Beginn Datensatz Kragen-->
                      <tr>
                      <td colspan="3" class="habstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
                      </tr>
                      <tr>
                      <td colspan="3" class="text"><br> Wir beginnen nun mit der Auswahl des Kragens. Je nachdem für welchen  Zweck Sie Ihr Hemd konfigurieren wählen sie bitte den Kragen aus.<br><br></td>
                      </tr>
                      <tr>
                      <td colspan="3" class="habstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
                      </tr>
                      <tr>

                      <? 
                      $i2 = "0";
                      $i3 = "0";
                      while ($i2 < $i) {
                      $i3++;
                      $i2++;
                      ?>

                      <td align="center" ><form action="shop.php?id=22" method="post">
                      <INPUT TYPE="IMAGE" NAME="Vorderteil" SRC="<? echo $kragenlink[$i2]; ?>" BORDER="0" /><input type="hidden" value="<? echo $kragenname[$i2]; ?>" name="uebergabe"/></form></td>
                      <td class="vabstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
                      <? 
                      if (!$kragenlink[$i2+1] && $i3!=2) { 
                      ?>
                      </tr>
                      <tr>
                      <td align="center" class="bezeichnung"><? echo $kragenname[$i2]; ?></td>
                      <?

                      if ($i3 == "2") 
                      {
                      while ($i3 > "0")
                      {

                      ?>
                      </tr>
                      <tr>
                      <td align="center" class="bezeichnung"><? echo $kragenname[$i2-"1"]; ?></td>
                      <td class="vabstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
                      <td align="center" class="bezeichnung"><? echo $kragenname[$i2]; ?></td>
                      </tr><tr>
                      <td colspan="3" class="habstand"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></td>
                      </tr>

                      <?
                      $i3 = "0";
                      }
                      }


                      }
                      ?> 
                      <!--Ende Datensatz Kragen-->
                      </table>
                      <!--Ende Tabelle Kragen-->
                      </td>
                      </tr>
                      </table>

                      Inhalt grafik.php

                      PHP-Code:
                      <?
                      include "config.inc.php";
                      include "wcreate.php";
                      $sql = "select * from artikel";
                      $res = mysql_query($sql,$link) or die(mysql_error());
                      mysql_error();
                      while ($ligne = mysql_fetch_object($res))
                      {
                      if ($ligne->name == $_SESSION['kragen']) { $kragenm = $ligne->mlink; $kragenn = $ligne->name;}
                      if ($ligne->name == $_SESSION['knopfleiste']) { $knopfm = $ligne->mlink; $knopfn = $ligne->name;}
                      if ($ligne->name == $_SESSION['brusttaschenform']) { $brustm = $ligne->mlink; $brustn = $ligne->name;}
                      if ($ligne->name == $_SESSION['manschette']) { $manschm = $ligne->mlink; $manschm2 = $ligne->mlink2; $manschn = $ligne->name; }
                      if ($ligne->name == $_SESSION['rueckenteil']) { $rueckenm = $ligne->mlink; $rueckenn = $ligne->name; }

                      }

                       
                      ?>

                      <!--Rahmen-->
                      <div id="rahmenhemd"><img src="images/rahmen.gif" alt="" width="201" height="382" border="0"></div>

                      <!--Hemdform-->
                      <div id="hemdform"><img src="images/Frontansicht.gif" width="170" height="229" alt="" border="0"></div>

                      <!--knopfleisten mini-->
                      <div id="<? { echo $knopfn; } ?>"><img src="<? echo $knopfm; ?>" border="0"></div>


                      <!--Kragen mini-->
                      <div id="<? { echo $kragenn; } ?>"><img src="<? echo $kragenm; ?>" alt="" border="0"></div>
                      <div id="trenn"><img src="images/blank.gif" width="1" height="1" alt="" border="0"></div>

                      <!--tasche mini-->
                      <div id="<? if (isset($brustm)) { echo $brustn; } ?>"><img src="<? echo $brustm; ?>" alt="" border="0"></div>

                      Inhalt config.inc.php

                      PHP-Code:
                      <?
                      $db = "blabla";
                      $link = @mysql_connect("localhost", "blabla", "") OR die(mysql_error());
                      mysql_select_db($db, $link);
                      ?>

                      Kommentar


                      • #12
                        Mag sein es ist zu warm ... mag sein das mich Dein abstruser Programmierstil verwirrt ... aber wo wurde noch gleich der "Kragen" einer Session-Variablen zugeordnet ... ?!
                        carpe noctem

                        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                        Kommentar


                        • #13
                          da, wo auch all die anderen session-variablen zugeordnet wurden...

                          in seinem kopf und nirgendwo sonst...
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Das ist doch mal was ...
                            carpe noctem

                            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                            Kommentar


                            • #15
                              Wenn man auf einen Kragen klickt, dann wird via Form mit POST der Name an die shop.php übergeben.

                              shop.php

                              PHP-Code:
                              <?
                              /* Shop.php */
                              $id1 = $GET_['id'];
                              if (!isset($id)) { $id = 3; }
                              include $id .".php";
                              ?>

                              Die Session Variable wir din der grafik.php gesetzt

                              PHP-Code:
                              include "config.inc.php";
                              include 
                              "wcreate.php";
                              $sql "select * from artikel";
                              $res mysql_query($sql,$link) or die(mysql_error());
                              mysql_error();
                              while (
                              $ligne mysql_fetch_object($res))
                              {
                              if (
                              $ligne->name == $_SESSION['kragen']) { $kragenm $ligne->mlink$kragenn $ligne->name;}
                              if (
                              $ligne->name == $_SESSION['knopfleiste']) { $knopfm $ligne->mlink$knopfn $ligne->name;}
                              if (
                              $ligne->name == $_SESSION['brusttaschenform']) { $brustm $ligne->mlink$brustn $ligne->name;}
                              if (
                              $ligne->name == $_SESSION['manschette']) { $manschm $ligne->mlink$manschm2 $ligne->mlink2$manschn $ligne->name; }
                              if (
                              $ligne->name == $_SESSION['rueckenteil']) { $rueckenm $ligne->mlink$rueckenn $ligne->name; }

                              }

                               
                              ?> 
                              Mit dem Programmierstil habt ihr sicherlich recht, aber ich habe auch nicht behauptet das ich das super kann. Ich bin noch in der Anfangsphase und lasse mich gerne eines besseren belehren.

                              Dafür schreibe ich in ein Forum.

                              Aber wenn Kritik kommt dann bitte nur konstruktive, denn sagen das alles "Kacke" ist, das kann jeder.

                              Das Kunstück ist gegenvorschläge zu machen.

                              Kommentar

                              Lädt...
                              X