sessions

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

  • sessions

    ok wenn ich eine session registriere mit:
    session_register ("test");
    $test = 1;

    wei kann ich dann auf der nächsten seite die session abrufen . welchen wert die session test hat?

  • #2
    <?php
    session_start();
    echo $test;
    ?>

    Mitlerweile weiß ich sowas :-)))))))

    gruss

    Kommentar


    • #3
      thnx

      Kommentar


      • #4
        naja warum kommt bei mir
        Warning: Cannot send session cache limiter - headers already sent
        wenn ich mach Start_session();

        Kommentar


        • #5
          Weil sessions Header-Info beinhalten (cookies etc.)

          erst die Session-Dinge abarbeiten, dann erst HTML, Beispiel:

          session_start(); //Session starten
          session_id(); //SessionID erzeugen

          session_register ("test");
          $test = 1;

          und jetzt erst

          <html>
          <head>
          <title></title>
          .
          .
          .

          Kommentar


          • #6
            jop das geht soweid:
            <?php
            session_start(); //Session starten
            session_id(); //SessionID erzeugen
            session_register ("test");
            $test = 1;
            ?>
            klar nur wie mach ich das jetz auf der 2ten page? da will ich die session test ausgeben:
            <?php

            echo session_name(); #debug info für mich
            echo $PHPSESSID; #debug info für mich
            echo($test);
            ?>
            nun sagt er mir test gibts ned
            wie kann ich aber die session test abrufen ?
            ich schätze mal sie ist eine arry das sich aus session_id und dem session namen und dann wert zusammensetzt?

            oder muss ich die dann so intialiseren vorher:
            $HTTP_SESSION_VARS["test"]=1;


            Kommentar


            • #7
              Probiers auf der 2. Seite mal so:

              Code:
              <?php
              session_start(); //die Zeile bitte wieder vor alle anderen
              
              echo $PHPSESSID;
              echo $test; //hiermit sollte er dir die Sessionvariable $test ausgeben
              ?>
              damit sollte er dir dann die Variable ausgeben!

              Ach ja, zur besseren Übersichtlichkeit, kannst deinen Sessionvariablen ja ein "s_" voranstellen -> $s_test, dann weißt du, daß die aus einer Session stammt.

              gruss

              Kommentar


              • #8
                naja ersagt mir
                Cannot send session cache limiter - headers already sent
                wenn ich auf 2ter page den
                session_start();
                mache;

                Kommentar


                • #9
                  poste mal den Code von der 1. und 2. Seite (bitte nur die Anfänge!)

                  Kommentar


                  • #10
                    1ste seite:

                    <?php
                    session_start(); //Session starten
                    session_id(); //SessionID erzeugen
                    $HTTP_SESSION_VARS["test"]=2;
                    session_register ("test");
                    ?>

                    TESTWERT: <?php echo $HTTP_SESSION_VARS["test"]; ?>


                    <A HREF="nextpage.php?<?=$PHPSESSID?>">weiter</A>

                    2te seite:

                    <?php
                    session_start(); //die Zeile bitte wieder vor alle anderen
                    $g= session_is_registered("test");
                    echo $g;
                    if($g==true){
                    echo $HTTP_SESSION_VARS["test"]; //hiermit sollte er dir die Sessionvariable $test ausgeben
                    }else{echo"Session nicht reg";}
                    ?>

                    habe php4.0 für winblows aufm server

                    Kommentar


                    • #11
                      Probiers mal so:
                      1. Seite:
                      Code:
                      <?php 
                      session_start(); //Session starten
                      session_id(); //SessionID erzeugen
                      
                      $s_test = "testwert";
                      ?>
                      Link auf 2. Seite

                      2.Seite:
                      Code:
                      <?php 
                      session_start(); //die Zeile bitte wieder vor alle anderen 
                      	if (session_is_registered("s_test")) {
                      		echo "ist registriert";
                      	} else {
                      		echo "ist nicht registriert";
                      	}
                      
                      echo $s_test;
                      ?>
                      So sollte das gehen (zumindest bei mir!)

                      gruss

                      Kommentar


                      • #12
                        Warning: Cannot send session cache limiter - headers already sent (output started at c:\nextpage.php:2) in C:\nextpage.php on line 3
                        ist nicht registriert
                        sagt er mir ... kann es sein dass ich eine einstellung im php verändern muss? --enable-track-vars ?

                        Kommentar


                        • #13
                          also ab php 4.03 sind die immer angeschaltet, wie siehts denn mit register_globals aus ??

                          wenn das aus ist, mußt du die Variablen mit HTTP_SESSION_VARS["s_test"]; abfragen

                          Kommentar


                          • #14
                            Hallo,

                            ja klar! in der php.ini (hab die doku jetzt nicht zur hand!) gibst eine variable (header_post_vars oder so...? -steht ziemlich am anfang in der ini) die auf on gesetzt werden kann. -dann klapps auch mit der session...

                            ich benutze ein inlude-file immer am anfang jeder site die eine session-abfrage macht:

                            include("../../php/include/session.inc.php");

                            darin siehts dan so (oder so ähnlich) aus:

                            session_path("...."); #wo's halt hingehört...
                            session_start();
                            session_is_registered("member");

                            weiter im text...

                            if(isset($member))
                            {...
                            if($member["rechte"] == 1).....
                            ....
                            }

                            usw...

                            hoffe das hilft,

                            tom

                            Kommentar


                            • #15
                              Ich glaube, du meinst das hier?? :

                              output_buffering = Off ; Output buffering allows you to send header lines (including cookies)
                              ; even after you send body content, in the price of slowing PHP's
                              ; output layer a bit.
                              ; You can enable output buffering by in runtime by calling the output
                              ; buffering functions, or enable output buffering for all files
                              ; by setting this directive to On.

                              Kommentar

                              Lädt...
                              X