SessionID in DB speichern

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

  • SessionID in DB speichern

    Hi habe folgendes problem möchte eine Merkliste erstellen und will hierzu mit der SessionID arbeiten habe mir folgendes erstellt

    Nun zum Problem bei jeden aktualisieren teilt er mir eine neue SessionID hinzu aber ich will eigentlich das der User die SessionID solange behält bis er den Browser schliesst damit er verschiedene Objekte(Artikel) markieren kann und sich diese nachher in der Merkliste anschauen kann.

    Kann mir bitte wer weiter helfen. Danke

    file: index.php
    PHP-Code:
    <?        
    session_start();
    $name=session_name(test);
    echo $name,"<br>";
    $ObjektID=1;
    $haus=SID;
    session_register("haus");
    session_register("ObjektID");
    printf('<a href="index2.php?%s">link</a>',SID);
    echo "Die Session ID" .SID. " $ObjektID";
    ?>
    file: index2.php
    PHP-Code:

    <?    
    session_start();

    $db = mysql_connect("localhost", "user", "pass");
    mysql_select_db("tabelle",$db);

    $sql = "INSERT INTO merkliste SET session_id='$haus',objekt_id='$ObjektID' ";
    $result = mysql_query($sql,$db);
    echo "<br><br><b>Daten  wurden gespeichert</b>";

    ?>

  • #2
    INSERT INTO merkliste SET session_id='$haus',objekt_id='$ObjektID'
    Wo sind denn die Variablen definiert?
    wie wärs mit $_SESSION[]?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Zum einen würde ich den Quatsch mit dem session_register() sein lassen ... weil das obsolet ist ...
      Zum anderen solltest Du Session-Variablen nicht mittels beispielsweise $ObjektID ansprechen ... da in neueren PHP-Versionen register_globals auf OFF steht.
      Drittens ... warum speicherst Du die Merkliste nicht einfach in der Session?

      PHP-Code:
      session_start();
      // Wenn nicht vorhanden ... leere Merkliste erstellen ...
      if  ( !isset($_SESSION["merkliste"]) ) $_SESSION["merkliste"] = array();

      // Objekt in der Merkliste speichern ...
      $_SESSION["merkliste"][] = 1
      @Mellopie: In der index.php.
      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


      • #4
        sorry hab den fehler schon gefunden danke

        Kommentar


        • #5
          @goth

          danke für den lösungsansatz werde mir dies mal anschauen :-)

          Kommentar


          • #6
            @ goth

            habe nur eine frage für was steht das [] = 1; ist dies fürs Objekt 1 oder verstehe ich da was falsch

            Kommentar


            • #7
              Du hattest die Zuweisung $ObjektID=1; in deiner index.php.

              $_SESSION["merkliste"][] = 1;

              fügt ein Array-Element mit dem Wert 1 hinzu ... bzw. hängt dieses an's Array an ...
              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


              • #8
                @goth ja klar in index.php aber benutzt werden die vars in index2.php und dort sind sie nicht definiert...
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Original geschrieben von MelloPie
                  @goth ja klar in index.php aber benutzt werden die vars in index2.php und dort sind sie nicht definiert...
                  ja dann macht er wohl mit seinen sessions noch irgendwas falsch.
                  schliesslich sind sessions doch dafür da, um genau so eine weitergabe von variablen zu ermöglichen...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    ich meinte nur er sollte das $_SESSION[] array benutzen.
                    Ausserdem könnte register_globals auf off stehen (--> hat nichts damit zu tun, ob ewr die Session falsch behandelt) Auch bei richtigem Session handling wirds dann nicht gehen...
                    Beantworte nie Threads mit mehr als 15 followups...
                    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                    Kommentar


                    • #11
                      Re: SessionID in DB speichern

                      Original geschrieben von churcher
                      PHP-Code:
                      $sql "INSERT INTO merkliste SET session_id='$haus',objekt_id='$ObjektID' "
                      ich kann mich ja irren, aber sieht doch komisch aus

                      Kommentar

                      Lädt...
                      X