Variablen über mehrere Seiten

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

  • Variablen über mehrere Seiten

    normalerweise ist es ja so, dass man eine Variable an eine PHp Datei weitergibt, sei es mit Formular oder durch Variablenlink. Doch möchte ich das man eine Variable ( PW und Nickname heißen die Variablen) ständig und bei jeder Seite mit weitergegeben werden. Das hat den Vorteil das meine Seite überall erkennen kann ohne meterweise Variablen immer weiterzugeben, dass der Benutzer sozusagen eingeloggt ist.

    Weiß da jemand eine Möglichkeit. Entschuldigt die Newbie Fragen. Doch wenn man in einem Newbie Forum schreibt bekommt man auch Newbie antworten
    schau nicht zurück, du lebst nur einmal

  • #2
    vielleicht solltest du dir

    1) Usermanagement ansehen
    2) suchen
    3) sessions ansehen

    Kommentar


    • #3
      Re: Variablen über mehrere Seiten

      Original geschrieben von ginod
      normalerweise ist es ja so, dass man eine Variable an eine PHp Datei weitergibt, sei es mit Formular oder durch Variablenlink. Doch möchte ich das man eine Variable ( PW und Nickname heißen die Variablen) ständig und bei jeder Seite mit weitergegeben werden. Das hat den Vorteil das meine Seite überall erkennen kann ohne meterweise Variablen immer weiterzugeben, dass der Benutzer sozusagen eingeloggt ist.
      Dafür gibt es in php sessions, diese kannst beispielsweise wie folgt verwenden:
      PHP-Code:
      // Vor dem Zugreifen(lesend und schreibend) auf die Session-Vars...
      session_start();
      // ...aufrufen.

      // Jetzt mit...
      $_SESSION['Nickname'] = 'ginod';
      $_SESSION['PW'] = 'katzenfusshydraulik';
      // ...variablen erzeugen.

      // Und dann in deiner anderen datei mit...
      $Nickname $_SESSION['Nickname'];
      // ...wieder auslesen. (session_start nicht vergessen) 
      grüße, hOk

      Kommentar


      • #4
        Wenn dein Server es nicht automatische bei jeden Linkaufruf mitsendet musst du noch die sessionid übergeben.

        Kommentar


        • #5
          Da ich mich bis jetzt noch nicht mit sessions beschäftigt habe.

          Ein anderer Weg: (der ist zwar nicht so toll aber es funzt)
          - User loggt sich ein
          - In einer User DB werden Login und PW geprüft und der User auf "eingeloggt" gesetzt
          - nun wird bei jedem Link (im Adminbereich) die ID des Users übergeben
          - beim laden der Seite wird dann überprüft, ob der user eingeloggt ist.

          Ist zwar nicht so elegant wie Sessions, aber ich finde es einfacher zu verstehen. Und relativ sicher ist es, nach meiner Einschätzung, auch.

          --

          Aber vielleicht machst du es doch lieber mit Sessions ... ;-)
          [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

          [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

          [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
          (from here)

          Kommentar


          • #6
            Original geschrieben von Meillo
            Ist zwar nicht so elegant wie Sessions, aber ich finde es einfacher zu verstehen.
            das ist wohl war. so habe ich auch mal angefangen .... naja. fast. ich habe keine userid übergeben, sondern einen selbst generierten md5-wert, der eindeutig in der db vorhanden sein musste.

            Original geschrieben von Meillo
            Und relativ sicher ist es, nach meiner Einschätzung, auch.
            eben nicht. denn wenn du nur die user id übergibst, kannst du ja mal eben ein wenig rumspielen mit dem übergabewert und bist schon als anderer user online. oder habe ich an deiner beschreibung was falsch verstanden?
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Ein Fremder kann sich nur einloggen wenn der tatsächliche User online ist, denn nur dann ist sein Status in der DB auf "eingeloggt" gesetzt.
              Den Status wird nur beim Ein- und Ausloggen verändert - da geht ohne PW gar nix.

              Ja, es ist möglich, dass sich Fremde einloggen, aber nur wenn der entsprechende User auch gerade on ist. Sobald der sich aber abmeldet, hat der böse Hacker auch keinen Zugriff mehr.

              Da dieser Memberbereich nicht überaus sicher sein muss, und da die User immer nur kurze Zeit on sind ( < 2h in der Woche) reicht mir das völlig aus.
              [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

              [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

              [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
              (from here)

              Kommentar


              • #8
                alles klar. habe ich es doch richtig interpretiert .... naja. solange dir der bug bekannt ist und du damit leben kannst, sollts mir egal sein ...

                tipp: ein umbau auf einen md5-wert als übergabe ist relativ einfach getan. damit erhöhst du die sicherheit um mehr als 1000%. ;-)
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Original geschrieben von Meillo
                  Ein Fremder kann sich nur einloggen wenn der tatsächliche User online ist, denn nur dann ist sein Status in der DB auf "eingeloggt" gesetzt.
                  Den Status wird nur beim Ein- und Ausloggen verändert - da geht ohne PW gar nix.

                  Ja, es ist möglich, dass sich Fremde einloggen, aber nur wenn der entsprechende User auch gerade on ist. Sobald der sich aber abmeldet, hat der böse Hacker auch keinen Zugriff mehr.

                  Da dieser Memberbereich nicht überaus sicher sein muss, und da die User immer nur kurze Zeit on sind ( < 2h in der Woche) reicht mir das völlig aus.
                  und was ist wenn ein user die Seite verlässt ohne sich auszuloggen?
                  mfg
                  marc75

                  <Platz für anderes>

                  Kommentar


                  • #10
                    Original geschrieben von marc75
                    und was ist wenn ein user die Seite verlässt ohne sich auszuloggen?
                    dann ist der user immer noch als online gekennzeichnet.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Wird 1. mit Form.Unload oder wie auch immer das heißt abgefangen.
                      2. schreib ich nicht "eingeloggt" in die DB sondern das akt. Datum.
                      So terminiert sich der STatus automatisch am nächsten Tag.
                      (Es wird abgefragt, ob der status des Users dem akt. Datum entspricht)

                      @Abraxax: Ich überleg mir das mit der Verschlüsselung mal (könnte ja auch einfach ne zufallszahl sein), aber im Moment sehe ich noch keine Notwendigkeit dafür
                      [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                      [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                      [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                      (from here)

                      Kommentar


                      • #12
                        Original geschrieben von Meillo
                        könnte ja auch einfach ne zufallszahl sein
                        das ist ja ne zufallszahl. einfach md5() von microtime machen. ganz einfach .. ;-)

                        direkt der 2. post
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          THX

                          Sicherheit, ich komme ...
                          [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                          [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                          [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                          (from here)

                          Kommentar


                          • #14
                            Er sagt

                            wenn er die Session erstellt und ich meine Variablen mit den Daten in eine Session eintrage gibt es keine Probleme doch beim uasgeben der Sessions sagt er mir


                            Warning: Cannot send session cache limiter - headers already sent

                            was muss ich machen damit dieser Fehler nicht merh erscheint

                            PHP-Code:

                            session_start
                            ();

                            $pw=$_SESSION['pw'];
                            $nick=$_SESSION['nick']; 
                            Da wird ein Session gestartet und dann aus der zuvor erstellten Session die Variable pw und Variable nick herrausgepickt
                            schau nicht zurück, du lebst nur einmal

                            Kommentar


                            • #15
                              Re: Er sagt

                              Original geschrieben von ginod
                              Warning: Cannot send session cache limiter - headers already sent

                              was muss ich machen damit dieser Fehler nicht merh erscheint
                              die fehlermeldung weiterlesen und das problem beheben ...
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X