Klassen -Verständnisfrage

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

  • Klassen -Verständnisfrage

    Hallo,

    ich versuche mich gerade mit der Programmierung unter Verwendung von Klassen. Nun habe ich eine Verständnisfrage. Aber erstmal der Code:

    PHP-Code:
    <?php session_start(); ?>

    HTML-Bla (simples LoginFormular)

    <?php
    class user {
    var 
    $uname;
    var 
    $upass;
    var 
    $sessID;

    function 
    user($user$pass) {
    $user $_POST['txtUName'];
    $pass $_POST['txtUPass'];
    $sess session_id();

    $this->uname $user;
    $this->upass $pass;
    $this->sessID $sess;
    }
    }

    $currentUser = new user ($uname$upass);

    echo 
    $currentUser->uname."<br>";
    echo 
    $currentUser->upass."<br>";
    echo 
    $currentUser->sessID;
    ?>
    Sollte die SessionID nicht erst ausgegeben werden, wenn das Formular ausgewertet wurde? Bei mir erscheint sie gleich beim Laden der Seite.

    Gruß Arndtinho
    EDIT:
    TobiaZ: (php-tags) dann mach ichs eben!
    Zuletzt geändert von TobiaZ; 13.04.2004, 20:16.

  • #2
    Bitte benutze [PHP]-Tags des Forums.

    das hat doch gar nichts mit session zu tun. wenn du die sid in der ersten zeile per echo ausgibst, wird die auch als erstes angezeigt. logisch oder?

    Kommentar


    • #3
      Re:

      Wo gebe ich denn die SessionID als erstes aus? Laut meinem Script sollte sie erst bei

      echo $currentUser->sessID;

      aus. Und das steht ganz zuletzt. Aber die ID wird schon beim Laden der Seite angezeigt. Das ist das was ich nicht verstehe.

      Gruß Arndtinho

      Kommentar


      • #4
        andre frage .. warum nimmt dein constructor 2 variablen entgegen und tut nix mit denen ?
        mfg,
        [color=#0080c0]Coragon[/color]

        Kommentar


        • #5
          mein fehler, hatte mich beim lesen überschlagen.

          ändert aber nichts daran.

          dein aufbau:

          formular und so
          paar andere echos
          echo der sid.

          wo bitte wird bestimmt, dass die sid erst ausgegeben wird, wenn das form abgesendet wird?

          PS: dein Fkt-aufbau ist imho ziemlich seltsam, aber di fängst ja grad erst an.

          Kommentar


          • #6
            andre frage .. warum nimmt dein constructor 2 variablen entgegen und tut nix mit denen ?
            OffTopic:
            Das siehst du falsch! Die werden doch nachher überschrieben!!!

            Kommentar


            • #7
              Re:

              @Coragon Rivito

              Wie?

              Kommentar


              • #8
                da!

                PHP-Code:
                function user($user$pass) {
                $user $_POST['txtUName'];
                $pass $_POST['txtUPass'];
                $sess session_id();

                $this->uname $user;
                $this->upass $pass;
                $this->sessID $sess;

                Kommentar


                • #9
                  Re:

                  @TobiaZ

                  Naja ich versuche mir gerade verständlich zu machen, was der Vorteil von Klassen ist, wenn ich das auch alles über Funktionen machen kann. Und da schien mir ein Login als guter Einstieg.

                  Wenn ich jetzt mal die Sessions ausser acht lasse, funktioniert es so wie ich es mir vorgestellt habe. Der in das Formular eingegebene Username und Passwort wird angezeigt. Nun wollte ich halt Sessions mit ins Spiel bringen.

                  Gruß Arndtinho

                  Kommentar


                  • #10
                    Wenn ich jetzt mal die Sessions ausser acht lasse, funktioniert es so wie ich es mir vorgestellt habe. Der in das Formular eingegebene Username und Passwort wird angezeigt. Nun wollte ich halt Sessions mit ins Spiel bringen.
                    stellt sich nur immernoch die frage, warum du der fkt zwei werte übergibst...

                    mit der session das haben wir ja eigentlich geklärt.

                    bei nem simplen login machen klassen nicht soviel her. aber wenn du nen komplettes usermanagement bastelst schon eher... php ist aber sicher nicht die geeignetste Sprache für Klassen. Da gibts bessere.

                    Kommentar


                    • #11
                      wenn du den part mal so erweiterst,
                      PHP-Code:
                      $user $_POST['txtUName'].'post_name';
                      $pass $_POST['txtUPass'].'post_user'
                      siehst du wahrscheinlich auch das erwartete ergebnis
                      Kissolino.com

                      Kommentar


                      • #12
                        würde dir übrigens mal empfehlen mit error_reporting = E_ALL (php.ini) zu programmieren. dann fallen dir auch solche sachen wie die ausgabe der sid eher auf.

                        Kommentar


                        • #13
                          Re:

                          Nagut, dann werde ich mich mal weiter versuchen.
                          Was versteht man eigentlich unter einem 'komplettes usermanagement'?
                          User anlegen, editieren, löschenusw.?

                          Gruß Arndtinho

                          Kommentar


                          • #14
                            such mal im forum, der happy hat hier ne schöne Kasse gepostet.

                            Kommentar


                            • #15
                              Re:

                              Ok. Danke erstmal.

                              Gruß Arndtinho

                              Kommentar

                              Lädt...
                              X