Variablen in Sessions speichern und ändern

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

  • Variablen in Sessions speichern und ändern

    Hallo zusammen,

    ich habe eben das Forum durchsucht, aber bin auf keinen Beitrag gestoßen, der mir wirklich geholfen hätte.
    Und zwar geht es darum, dass ich in einer Session gerne eine Variable speichern, und diese bei bedarf durch das klciken auf einen Link ändern möchte.
    Geht das überhaupt, und wenn, wie bewerkstelligt man das?

    Gruß, Andi

  • #2
    zu diesem thema gibt es sehr viele threads. also am besten noch einmal suchen.

    das manual unter www.php.net liefert hierzu auch genügend beispiele.
    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


    • #3
      PHP-Code:
      $_SESSION['deineVariable'] = 'Wert'
      ^^ Das machst du immer dann, wenn du den Wert ändern willst oder die Variable anlegen möchtest. Wobei 'Wert' mit dem eigentlich Wert ersetzt werden sollte..

      Kommentar


      • #4
        ich mach ma nen Beispiel:

        <?
        session_start();

        $var = 1;

        session_register('var');

        Nun ist die Variable $_SESSION['var'] = 1
        Und wenn du irgendwann $var neudefinierst wird das auch in der Session geändert.

        Also wenn du auf irgeneiner anderen Seite auf $var = 5; stößt ist deine Session Variable $_SESSION['var'] = 5

        Kommentar


        • #5
          $var = 1;
          session_register('var');
          sowas ist veraltet und sollte nicht mehr verwendet werden!
          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


          • #6
            sry ich kann php ned wirklich gut, ich mach immer learning by doing und das ist das einzige was ich kenne,
            und das es ohne probleme klappt bei mir mach ich das halt so.

            Wie sollte man es den nun machen?

            Kommentar


            • #7
              Lies dir diese Seite mal durch: Sessions

              Ich denke dann ist dir einiges klarer.

              Kommentar


              • #8
                Vielen lieben dank für die Verweise auf die Suche und die Beispiele.

                @Heli
                Deine Variante habe ich zuerst auch wieder besseren Wissens benutzt.
                Aber es fand sich jemand, der mir das ganze dann mal richtig und ohne Suchfunktion erklärt hat und nun hab ich es verstanden.

                Das ganze sieht nun folgendermaßen aus:
                PHP-Code:
                <?php
                session_start 
                ();
                If(
                $link){
                $_SESSION["var"] = $link;     # Ändert die Session wenn mit der Varibale des Links
                }
                If(!
                $_SESSION["var"]){
                $_SESSION["var"] = "wert1";     # Überprüft ob die Sessionvariable gesetzt ist, setzt ansonsten Standartwert
                }
                ?>
                und im link sieht das dann so aus:
                PHP-Code:
                echo'<a href="index.php?link=wert2">Link</a><br>'
                So kann ich den Wert nun auf auf einer Seite ändern während cih sie zum Beispiel auch selber aufrufe und nicht in den headern rumspielen kann.

                Kommentar


                • #9
                  Prüfe beim zweiten If lieber mit empty(), sonst verbaust du dir Möglichkeiten oder öffnest Sicherheitslücken (inde.php?link=false) - je nachdem was das Script sonst noch so macht.

                  Kommentar


                  • #10
                    @Andi_K
                    Du scheinst register_globals on zu haben, wenn ich deinen Code so anschaue.
                    PHP-Code:
                    if($link){...
                    //besser wäre
                    if($_GET['link']){... 
                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar

                    Lädt...
                    X