sessions startet mehrmals

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

  • sessions startet mehrmals

    Hallo,

    PHP-Code:
    session_start();

    if (isset(
    $_SESSION)) {
        echo  
    "session da";
        } else {
     
    session_start();
    }
    $s=session_id();
    if (
    $s=session_id($s)) {
        echo 
    "alles <br>$s<br>";
    }

    else {
    session_destroy();


    Script habe ich aus d. Manual. Ich möchte so eine Art Counter machen. Nur leider kann ich mit den Sessions nicht viel anfangen, weil bei jedem Aufruf der Seite nichts hochgezählt wird, weil eine neue Session gemacht wird.

    Wenn ich mit Dateien arbeite, dann gehts. Aber wie kann ich jetzt so einrichten, dass ich durch Session aufzähle, wie oft die Seite aufgeladen wurde ohne, dass jedes mal eine neue Session gestartet wird mit eine neue ID?

  • #2
    aus welchem Manual hast du das Script?

    Bitte erstmal folgende Punkte beachten/lesen:
    - http://www.php.net/manual/en/language.operators.php
    - http://www.php.net/manual/en/ref.session.php

    da du anscheinend Grundlagenprobleme hast.

    Kommentar


    • #3
      Original geschrieben von asp2php
      aus welchem Manual hast du das Script?
      da du anscheinend Grundlagenprobleme hast.
      von hier --> http://www.php.net/manual/en/ref.session.php
      --------------------------------------------------------------------------------------

      Es ist, dass ich versuche meine Seite zu personalisieren. Wenn ein User sich einloggt, dann soll er seine Lieblingsseite zu sehen bekommen.

      Da ich mit Session keine Erfahrung habe, wollte ich jetzt damit experimentieren.

      Wenn der User drin ist, dann wird eine Session gestartet. In der Session wird gespeichert, wie oft er auf der Seite war.

      Das Aufzählen fuktioniert nicht, weil jedes mal eine neue Session gestartet wird statt das alte zu benutzen. In der Session steht "0".

      Wie kann ich alles so einrichten, dass beim Laden von Seite 1 ein Session gestartet wird. Beim neuladen von Seite 1 in der Session die BEsuchshäufigkeit gespeichert wird ohne das eine neue Session incl. ID gestartet wird?

      Kommentar


      • #4
        vielleicht solltest du mal session durch cookie ersetzen.
        Kissolino.com

        Kommentar


        • #5
          Kein Wunder, mit Sessio_destry wird die session gelöscht und beim nächsten mal muss sie neu gestartet werden 0_O


          An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

          Kommentar


          • #6
            Original geschrieben von MaxP0W3R
            Kein Wunder, mit Sessio_destry wird die session gelöscht und beim nächsten mal muss sie neu gestartet werden 0_O
            Eben nicht. Wenn eine Session gestartet wird und gleich darunter session_destroy steht, dann wird die Session ganz gelöscht. Neustart hilft nichts, weil es keine Session-Datei zu sehen sein wird, weil eben keine Sessions da sind.

            Mein Problem ist, nach wie vor, dass in der Session nichts hochgezählt wird.

            Ich mache das ganze, weil ich einerseits üben will mit Sessionsumzugehen, andererseits wissen will, wie ich verhindere, dass auf einmal immer neue Sessions gestartet werden und User X die sess00azezeze7xu87m543m3p1 bekommt und nach neuladen der Seite plötzlich aus die SessId: sess_0f49855827e753385dca73adb708683a bekommt.

            Kommentar


            • #7
              Original geschrieben von blackhorse
              Ich mache das ganze, weil ich [...] wissen will, wie ich verhindere, dass auf einmal immer neue Sessions gestartet werden und User X die sess00azezeze7xu87m543m3p1 bekommt und nach neuladen der Seite plötzlich aus die SessId: sess_0f49855827e753385dca73adb708683a bekommt.
              wenn du sessions so verwenden würdest, wie's gedacht ist - dann hättest du doch dieses problem gar nicht ...?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                wie's gedacht ist?

                Original geschrieben von wahsaga
                wenn du sessions so verwenden würdest, wie's gedacht ist - dann hättest du doch dieses problem gar nicht ...?
                Dann sag mir bitte doch einfach was ich falsch mache.

                Kommentar


                • #9
                  Re: wie's gedacht ist?

                  Original geschrieben von blackhorse
                  Dann sag mir bitte doch einfach was ich falsch mache.
                  auf der von dir bereits verlinkten seite sind doch mehrere beispiele ...

                  wo du da ausgerechnet deins herausgegriffen haben willst, mit diesem unsinnigen doppelt starten der session etc., kann ich im moment nicht erkennen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Es ist so, dass ich Seiten personalisieren machen will. Dazu habe ich mir folgendes gedacht:

                    Beim Loggin in die Session schreiben, wie oft der User auf Seite 1 und 2 war. Wenn er mehr auf Seite 1 ist, dann soll sei Seite 1 immer gestartet werden, wenn User sich einloggt.
                    Mir ist aufgefallen, dass jedes mal wenn User die Seite Akualisiert, in den Session-Ordner eine neue Session gestartet wird.

                    Mir ist bekannt, dass es hier mit zu tun hat --> session_start();

                    Ich dachte dann einfach, dass ich eine IF-Abfrage mache, die schaut, ob eine Session bereits vorhanden ist. IF (session_start()) ging natürlich nicht also mußte es mit isset() versuchen. Hat auch nicht hingehauen.

                    Meine Befürchtung ist, dass es zu chaotischen Verhältnisse kommt, wenn ein User nur durch Aktualisierung hunderte von Sessions startet. Das weiterleiten der Session hat auch nicht geklappt, weil wenn User auf seite 3 ist und wieder auf Refresh klickt, dann hat er automatisch wieder eine neue SessionID. Ich kann dann auch nichts eintragen oder auslesen.


                    Ich komme echt nicht vorran, daher bitte ich um Hilfe.

                    Kommentar


                    • #11
                      session_start MUSS auf jeder Seite EINMAL ganz am Anfang aufgerufen werden, damit du überhaupt auf die Session-Variable zugreifen kannst. Wenn du mehrmals session_start aufrufst, solltest du dich aber nicht wundern, warum es nicht korrekt läuft.

                      Kommentar


                      • #12
                        @black...

                        zum Thema Session

                        mit der Session kannst du den User verfolgen solange er auf deiner Seite ist, wenn er die verlässt und später wieder kommt, bekommt er eine neue session, von daher ist´s schlecht mit zählen wie oft er auf welcher Seite war.

                        Ansonsten mach eine einfacher seite mit einem Link wo die session id dran gehängt ist, dann ruf den link auf und jedes mal wieder ein Zähler erhöht.

                        beispiel - test.php
                        PHP-Code:
                        session_start();

                        if(!isset(
                        $_SESSION['zahl']){
                        $_SESSION['zahl'] = 0;
                        }

                        $_SESSION['zahl']++;

                        echo 
                        $_SESSION['zahl'].'  Aufrufe<br>';

                        echo 
                        '<a href="test.php?'.session_name().'='.session_id().'">Weiter</a>'
                        mfg
                        marc75

                        <Platz für anderes>

                        Kommentar

                        Lädt...
                        X