Julia: Sessions

Hey!

Wie kann man bei Sessions einzelne Variablen "zerstören"? So dass es sie nich mehr gibt quasi^^

Dankö,

Julia

  1. Wie kann man bei Sessions einzelne Variablen "zerstören"? So dass es sie nich mehr gibt quasi^^

    Variablen überschreiben.

    Gruß Jan

    1. Hi Jan,

      Wie kann man bei Sessions einzelne Variablen "zerstören"? So dass es sie nich mehr gibt quasi^^

      Variablen überschreiben.

      Dann existiert diese aber immer noch, isset() würde z.B. noch true zurückliefern  - und genau das wollte Julia nicht.

      MfG, Dennis.

      1. Dann existiert diese aber immer noch, isset() würde z.B. noch true zurückliefern  - und genau das wollte Julia nicht.

        Was macht denn "unset($_SESSION['meinevariable']);" .
        Die variable neu setzen, oder ?

        Gru? Jan

        1. Hi Jan,

          Dann existiert diese aber immer noch, isset() würde z.B. noch true zurückliefern  - und genau das wollte Julia nicht.

          Was macht denn "unset($_SESSION['meinevariable']);" .
          Die variable neu setzen, oder ?

          Ein bisschen Englischkenntnisse wirst du doch wohl haben, oder? ;-)

          neu setzen müsste reset heißen, un hat immer was mit negativ, rückgängig so in der Art zu tun, das PHP Manual hilft dir natürlich auch weiter: unset()

          MfG, Dennis.

          --
          Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
          Die Definition des SelfCodes ist hier zu finden, es gibt auch einen Encoder.
          1. Hi Jan,

            Dann existiert diese aber immer noch, isset() würde z.B. noch true zurückliefern  - und genau das wollte Julia nicht.

            Was macht denn "unset($_SESSION['meinevariable']);" .
            Die variable neu setzen, oder ?

            Mit "unset($_SESSION['meinevariable']);" wir die variable von 1 auf 0
            gesetzt.
            Ist das nicht überschreiben ?
            Ich will aber hier keine Haare spalten, den dein Posting war genauer.

            Gruß Jan

            1. Hi Jan,

              Mit "unset($_SESSION['meinevariable']);" wir die variable von 1 auf 0
              gesetzt.
              Ist das nicht überschreiben ?

              Das wäre überschreiben - aber wo hast du das her? Im PHP Manual steht das nicht, da steht:

              <zitat>unset() gibt eine Variable oder ein Array-Element vollständig frei.</zitat>

              Bsp:

                
              //Definition  
              $var = "irgendwas";  
                
              //Ausgabe: existiert  
              echo isset($var) ? "existiert" : "existiert nicht";  
                
              //Variable "löschen"  
              unset($var);  
                
              //Ausgabe: existiert nicht  
              echo isset($var) ? "existiert" : "existiert nicht";  
              
              

              MfG, Dennis.

              --
              Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
              Die Definition des SelfCodes ist hier zu finden, es gibt auch einen Encoder.
              1. Hi Dennis,

                <zitat>unset() gibt eine Variable oder ein Array-Element vollständig frei.</zitat>

                In der Digitaltechnik werden die Signale aus zwei diskreten, ausgezeichneten Zuständen aufgebaut, also z.B. Schalterstellung: Ein oder Aus.
                Eine binäre Variable kann zwei Werte annehmen:0 oder 1.
                Wenn ich 1 mit 0 überschreie ist die Variable Leer.

                Gruß Jan

                1. In der Digitaltechnik werden die Signale aus zwei diskreten, ausgezeichneten Zuständen aufgebaut, also z.B. Schalterstellung: Ein oder Aus.
                  Eine binäre Variable kann zwei Werte annehmen:0 oder 1.
                  Wenn ich 1 mit 0 überschreie ist die Variable Leer.

                  Nicht alles was hinkt ist ein Vergleich. :-)

                  Aber um bei deinem Digitaltechnik-Beispiel zu bleiben: Wenn man die Speicherzelle, die vorher 0 oder 1 enthalten haben könnte, entfernt, rausoperiert, auslötet, ... dann erhält man das was unset() macht. :-)

                  1. Hello,

                    Aber um bei deinem Digitaltechnik-Beispiel zu bleiben: Wenn man die Speicherzelle, die vorher 0 oder 1 enthalten haben könnte, entfernt, rausoperiert, auslötet, ... dann erhält man das was unset() macht. :-)

                    ...wobei die Speicherstellen natürlich noch vorhanden sind, und wahrscheinlich sogar noch den ehemaligen Wert beherbergen. Aber der Name der Variable wird aus der Variablentabelle entfernt, nachdem der Speicherverwaltung der zugehörige Speicherbereich zurückgegeben wurde.

                    Danach existiert die Variable für PHP nicht mehr.

                    PHP ist kein Assembler, der den Programmierer mit dem realen Speicher arbeiten lässt, sondern ein Programmiersystem, dass diesen Speicher selber verwaltet (und auf Linux sogar in erstklassiger Abstimmung mit dem Betriebssystem). Und da PHP dann auch noch eine Interpreter-Sprache ist, hat sie noch viel mehr Möglichkeiten. so z.B. variable Variablen, Variablen, die Funktionsnamen enthalten usw.

                    Harzliche Grüße aus http://www.annerschbarrich.de

                    Tom

                    --
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    Nur selber lernen macht schlau
                2. Moin!

                  <zitat>unset() gibt eine Variable oder ein Array-Element vollständig frei.</zitat>

                  In der Digitaltechnik werden die Signale aus zwei diskreten, ausgezeichneten Zuständen aufgebaut, also z.B. Schalterstellung: Ein oder Aus.
                  Eine binäre Variable kann zwei Werte annehmen:0 oder 1.
                  Wenn ich 1 mit 0 überschreie ist die Variable Leer.

                  Nein, stimmt nicht.

                  Nehmen wir mal an, eine variable Speicherstelle besteht aus 8 Bit. Dann haben diese 8 Bit immer irgendeinen Zustand, bilden also immer irgendeine Zahl zwischen 0 und 255. Es gibt aber keinen Zustand, der besagt "keine Zahl". Dazu bräuchte man entweder eine Definition "0 bedeutet leer" oder "255 bedeutet leer", oder ein zusätzliches Bit, das angibt, ob die Speicherstelle nun einen gültigen Zahlenwert hat, oder nicht.

                  PHP ist von Digitaltechnik außerdem ziemlich weit entfernt. Variablen werden beim ersten Anlegen in eine Liste eingetragen und mit einem Wert verknüpft. Deshalb kann man sowohl den zugewiesenen Wert löschen, indem man irgendeinen Leerwert einträgt, und man kann auch die Variable wieder aus der Liste löschen. Das ist aber NICHT dasselbe, denn der Leerwert ist ein gültiger Wert, der in der Variable auch aus anderen Gründen stehen kann. Damit man "Variable existiert nicht" von "Variable hat Leerwert" unterscheiden kann, gibt es eben die Funktionen "isset()" und "unset()".

                  • Sven Rautenberg
  2. Hi Julia,

    Wie kann man bei Sessions einzelne Variablen "zerstören"? So dass es sie nich mehr gibt quasi^^

    unset($_SESSION['meinevariable']);

    genau wie jede andere Variable auch ;-)

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
    Das Motto des SELFForums ist das _self_made, also das selbermachen. Deshalb sollte man bevor man irgendetwas fragt, immer erst öffentliche Quellen zu Rate ziehen!
    1. Hi Julia,

      Wie kann man bei Sessions einzelne Variablen "zerstören"? So dass es sie nich mehr gibt quasi^^

      unset($_SESSION['meinevariable']);

      genau wie jede andere Variable auch ;-)

      MfG, Dennis.

      Geenau das wollte ich - vielen Dank =)