Sessions

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

  • Sessions

    Hi jungs und Mädels,

    hab da mal eine kleine Frage:

    Was sind Sessions bzw. für was sind sie gut? was kann ich damit machen im gegensatz zu cookies?

    *gg* danke für die Antwort auf diese ...Frage

    cya CrazyPip

  • #2
    moin chef!

    sessions haben direkt nix mit cookies zu tun. man kann aber eine session in einem cookie speichern (quasi die session id). wenn du auf cookies verzichten willst, dann mach einfach in die erste zeile deines skripts ein ini_set("session.use_cookies","0") oder so ähnlich und dann wird die session in einem tempfile auf dem server gespeichert (statt auf dem client). das ist generell besser, wenn man z.b. grosse binärdaten, arrays etc. in einer session variablen speichern will.

    serialize ist aber für sowas besser geeignet...


    gruss

    beebob

    Kommentar


    • #3
      Hmm das mit dem ini_set("session.use_cookies","0"); funktioniert bei mir nicht.

      Wenn ich ohne cookies auskommen will muss ich schon folgendes an die url danhaengen:

      PHP-Code:
      echo "<a href=".$PHP_SELF."?".session_name()."=".session_id().">link weiter</a>"
      Ansonsten werden die Variablen der Session nicht uebernommen.

      Oder gibts da noch einen besseren Weg (also ohne die Session-ID "von Hand"hinten an der URL dranhaengen zu muessen)?

      Kommentar


      • #4
        probier das mal in verbindung mit dem anderen:
        PHP-Code:
        ini_set("session.use_trans_sid","1");
        ini_set("session.use_cookies","0"); 

        beebob

        Kommentar


        • #5
          Hmm, bei dem Provider funktioniert auch das nicht.

          Allerdings auf meinem Uni-Account und meinem lokalen Apache Server geht es problemlos wenn ich aus dem Internet drauf zugreife.

          Sogar ohne den ini_set(...) Kram ...

          Hat da mein Provider irgendwas so eingestellt das das nciht moeglich ist?

          Kommentar


          • #6
            kann sein, dass der aus performancegründen was weggelassen hat (darfst z.b. keine tempfiles schrieben, in denen wird aber eine session gespeichert)

            erstell mal da ne datei und trag da nur phpinfo(); ein und paste den kram rein oder schick nen link ...

            kannst parallel auch mal probieren, mit tempnam() ein tempfile zu erzeugen.

            Kommentar


            • #7
              link

              Kommentar


              • #8
                ich seh da nix böses im moment. schick mal nen schnipsel chef. wo studierst du denn?

                Kommentar


                • #9
                  link zum script

                  In Bremen ... der Fehler liegt aber recht eindeutig bei meinem Provider, denn sonst wuerde es ja nicht lokal und auf dem uni-account funktionieren.

                  Das sind die beiden Test-Dateien, mit deaktivierten Cookies funktionieren sie bei mir nicht.

                  Die Quelltexte:

                  PHP-Code:
                   <?php
                  ini_set
                  ("session.use_trans_sid","1");
                  ini_set("session.use_cookies","0");

                  session_start();

                  $var1 "muhkuh";
                  $var2 10;
                  $var3 "pw500";
                  $var3 md5($var3);

                  session_register("var1");
                  session_register("var2");
                  session_register("var3");

                  //echo "<a href=test2.php?".session_name()."=".session_id().">link weiter</a>";
                  echo "<a href=test2.php>link weiter</a>";

                  ?>


                  und:

                  PHP-Code:
                  <?php

                  ini_set
                  ("session.use_trans_sid","1");
                  ini_set("session.use_cookies","0");

                  session_start();

                  echo 
                  "Meine Variablen: ".$var1." , ".$var2;
                  echo 
                  "<br><br>Session ID: ".session_id();

                  if (
                  md5("pw500") == $var3) {
                      echo 
                  "<BR><BR>success";
                  }

                  $var2++;
                  //echo "<a href=".$PHP_SELF."?".session_name()."=".session_id().">link weiter</a>";
                  echo "<a href=".$PHP_SELF.">link weiter</a>";
                  ?>

                  Kommentar


                  • #10
                    hmm, mysteriös ...

                    was, wenn du statt dem echo, das ausserhalb des php-tags probierst. ich weiss, ist evtl. bullshit, aber ich will's wissen.

                    .
                    .
                    ?>
                    <a href="<?=PHPSELF?>">

                    Kommentar


                    • #11
                      Du meinstest glaube ich das, oder?

                      :::

                      PHP-Code:
                      <a href="<?echo $PHP_SELF?>">link weiter</a>

                      Geht aber leider auch nicht ...

                      Kommentar


                      • #12
                        hmm, ich schau morgen mal. notfalls frag doch den provider da. ansonsten gibt's noch gute externe libs, die sich mit sessions befassen und die selber in php geschrieben sind. hab aber noch keines von denen probiert.

                        Kommentar


                        • #13
                          Ok, trotzdem danke fuer die muehe...

                          notfalls muss ich halt die laenger loesung nehmen ... das auskommentierte ... denn damit gehts.

                          Kommentar


                          • #14
                            damit geht's immer. ich hab mir auch angewöhnt, das immer hart mit reinzuschreiben. wenn die transen id funzt, ists nicht weiter tragisch, wenn die session doppelt in der url vorkommt. fein ist es aber nicht ...

                            Kommentar

                            Lädt...
                            X