Session nach 4.1.0

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

  • Session nach 4.1.0

    Hey..
    ich habe da ein grosses Problem.
    Ab 4.1.0 soll man ja session_register nicht mehr verwenden und die Werte direkt _SESSION zuweisen.

    http://www.php.net/manual/en/ref.session.php


    Allerdings funktioniert dieser Beispielcode nicht :
    PHP-Code:
    <?php
    session_start
    ();
    // Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
    if (!isset($_SESSION['count'])) {
        
    $_SESSION['count'] = 0;
    } else {
        
    $_SESSION['count']++;
    }
    ?>
    $_SESSION ist nach einem erneuten aufruf der seite wieder weg und wird erneut auf 0 gesetzt.

    Mache ich einen Denkfehler ?

  • #2
    Du musst glaub ich schon noch session_register benutzen
    PHP-Code:
    <?php
    session_start
    ();
    $count $_SESSION['count'];
    if (!isset(
    $count)) {
        
    $count 0;
    } else {
        
    $count++;
    }
    session_register("count");
    ?>
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

    Kommentar


    • #3
      http://www.php.net/manual/en/functio...n-register.php

      If you are using $HTTP_SESSION_VARS/$_SESSION, do not use session_register(), session_is_registered() and session_unregister().

      Kommentar


      • #4
        Hi die auskommentierten statements sind n. alter Methode

        Session übergeben:

        //session_register('username');
        $_SESSION['username'] = $username;


        Session prüfen:

        //if (!session_is_registered('username'))
        if (!isset($_SESSION['username']))
        {
        die ("Sie sind nicht eingeloggt");
        }

        Kommentar


        • #5
          Tja..bei mir liefert das dann immer "Sie sind ausgelogt".
          Auf derselben Seite sind die Variablen noch auslesbar..auf der nächsten existieren sie nicht mehr.

          Probiert mal bitte alle das Beispiel durch..schon das funktioniert nicht bei mir.

          Kommentar


          • #6
            Auf welchem Wege wird die Session übergeben (GET/COOKIE)?

            folgendes Script mit GET übergabe funzt bei mir Tadelos:

            PHP-Code:
            <?php
            session_name
            ("sID");
            session_start();
            if ( !isset(
            $_GET["sID"]) ) {
                
            header("Location: session.php?".SID);
            } else {
                if ( !isset(
            $_SESSION["calls"]) ) $_SESSION["calls"]=0;
                
            $_SESSION["calls"]++;
            }
            ?>
            THIS: <?=$_SESSION["calls"]?><br />
            <a href="session.php">NEXT</a>
            Wenn ich Dein Beispiel um 2 Zeilen erweitere:
            PHP-Code:
            <?php
            session_start
            ();
            // Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
            if (!isset($_SESSION['count'])) {
                
            $_SESSION['count'] = 0;
            } else {
                
            $_SESSION['count']++;
            }
            echo 
            SID."<br />";
            echo 
            $_SESSION["count"];
            ?>
            Und dann beim nächsten Aufruf (session2.php) den Parameter "PHPSESSID=sessionid des 1. Aufrufs" anhänge funktioniert auch das ... bei mir zumindest.
            Zuletzt geändert von goth; 31.05.2002, 00:50.
            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


            • #7
              PHP 4.1.x hat unter Win ein Problem mit der $_SESSION
              Versuchs mal mit der neuen 4.2.1

              Kommentar


              • #8
                Original geschrieben von PAB
                PHP 4.1.x hat unter Win ein Problem mit der $_SESSION
                Versuchs mal mit der neuen 4.2.1
                Danke..vielleicht hätte ich schreiben sollen dass das ganze Win98 ist. Habe mir mal die Sessionfiles angeschaut..die bleiben leer.
                Und die Session ID wird schon übergeben..aber anscheinend ist sie immer 0123456789abcf

                Gibt es das Problem bei allen Windowsversionen ?

                Im Moment rät jeder von der Installation von 4.2.1 ab..sowohl Hoster, PhPMyAdmin und andere Leute..also werde ich das sicher nicht.

                Kommentar


                • #9
                  @KinNeko, nur den Kopf nicht hängen lassen, habe bei mir auch PHP 4.1.2 unter WIn laufen! Funktioniert wunderbar!


                  Also, welche PHP.ini benutzt du?

                  die recommended oder dist?

                  hast du den Session_path gesetzt?

                  Wichtig! Verändere nicht den Cookie_Path!!! da müßte ein slash oder backslash stehen!!! lass das so!

                  zur Not, poste mal deine PHP.ini als Anhang!


                  Gruß

                  Quixxz

                  Kommentar


                  • #10
                    Hey..
                    hmm..also php ist als apache modul eingebunden..und irgendwo habe ich mal gelesen dass es nicht geht wenn man global On hat. Also habe ich die php.ini-dis genommen, nach d:\windows\ kopiert..und global auf Off gesetzt. Wird auch bei phpinfo so angezeigt.
                    Der Session Path liegt auf /tmp
                    Php hat auf H:\ (da liegt der webserver) ein Verzeichnis erzeugt. Die Ini kann ich ja mal posten wenn ich wieder an den Rechner kann.

                    Was für ein Win hast du denn ?

                    Kommentar


                    • #11
                      Original geschrieben von KinNeko
                      Der Session Path liegt auf /tmp
                      Wenn du den Pfad auf /tmp hast, wird ein Verzeichnis tmp auf der Platte mit dem Webserver verlangt. Hast du den erstellt ?
                      Du kannst den Pfad auch auf c:/windows/temp einstellen.
                      [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                      [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                      [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                      © Harald Schmidt

                      Kommentar


                      • #12
                        leg mal unter htdocs n temp verzeichnis an und
                        schreib den path in die ini

                        zB:
                        session.save_path = C:\Programme\Apache Group\Apache\htdocs\temp


                        Achte darauf, das der Cookie Path so aus sieht:

                        ; The path for which the cookie is valid.
                        session.cookie_path = /

                        globals kannste ruhig auf on setzen!


                        Ps: ich habe winMe

                        Kommentar


                        • #13
                          Ich hatte das Problem auch auf einem anderen Computer mit 4.0.6. Da habe ich $HTTP_SESSION_VARS den Wert direkt zugewiesen..dasselbe Problem.
                          Wenn ich ein session_register reinschlage klappt es..also ist der Pfad richtig gesetzt..dann kann ich über Session_vars auf alles zugreifen. Aber man soll es ja nicht mehr..
                          ..das sind 2 Computer einmal 4.1.2/Win98 SE und dann 4.0.6/Win98.

                          Kommentar


                          • #14
                            hallo,
                            ich habe gerade das gleiche problem, obwohl ich mit PHP 4.2.2 arbeite(unter Win2k)

                            gibt es schon eine lösung ?
                            Zuletzt geändert von array_hunter; 27.08.2002, 17:22.
                            <Life>Traumprojekt-Die Design-Community</life>

                            Kommentar

                            Lädt...
                            X