Wie funktioniert ein Login mit Sessions?? *Newbie*

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

  • #16
    Mmh...

    @Sky
    Sorry, ich glaube, daß ich mich da etwas unverständlich ausgedrückt habe.

    Wie das einloggen funktioniert, ist mir eigentlich klar.
    Der Nutzer hat sich korrekt eingeloggt und die Daten aus "nutzername" und "passwort" werden in username und password gepeichert.

    Ich würde gerne wissen, welchen Code (du sprachst von Session_start oder so etwas?) ich in die Seiten einbinden muß, auf die nur dieser eingeloggte Nutzer zugreifen kann und kein anderer.

    So etwas wie in der Richtung: In password und username steht das richtige drin, also bekommt dieser Nutzer den Rest der Seite angezeigt, alle anderen bekommen nur das Login-Skript zu sehen.

    Ui, das is wieder kompliziert... :-)

    Danke!

    Gruß
    Daniel

    Kommentar


    • #17
      Du prüfst nach ob der Username registered ist..
      if is_registered($username) {
      #Teil der angezeigt wird
      }
      else {
      #Loginform
      }

      ist es eigentlich notwendig das passwort zu registeríeren ?

      Kommentar


      • #18
        auth.inc.php:
        <?php
        #Am Anfang jeder zu schützenden Datei mit include() einbauen

        session_start();

        include('connect.php');

        if (!$userid && !$loginname) {
        $errmsg = 'Bitte einloggen';
        include('loginform.inc.php');
        exit;
        } else {

        if ($loginname && !$userid) {
        $r = mysql_query("SELECT id,username,password FROM users WHERE username='$loginname'");
        } else {
        $r = mysql_query("SELECT id,username,password FROM users WHERE id='$userid'");
        }
        //username check
        if (mysql_num_rows($r)>0) {
        $dbauth = mysql_fetch_array($r);
        if ($dbauth[password] == $password) {
        if (!$userid) {
        session_register('userid');
        session_register('password');
        session_register('username');
        $userid = $dbauth[id];
        $password = $dbauth[password];
        $username = $dbauth[username];
        }
        } else {
        sleep(2);
        $errmsg = 'Falsches Passwort';
        include('loginform.inc.php');
        exit;
        }
        } else {
        sleep(2);
        $errmsg = 'Falscher Benutzername';
        include('loginform.inc.php');
        exit;
        }
        }
        ?>

        loginform.inc.php:
        <p><?=$errmsg?></p>
        <form action="<?=$PHP_SELF?>" method="POST">
        <input type="text" name="loginname">
        <input type="text" name="password">
        <input type="submit" value="Login">
        </form>



        [Editiert von Sky am 28-12-2001 um 14:54]

        CAT Music Files

        Kommentar


        • #19
          http://www.php-resource.de/scripts.p...rtal&B1=suchen

          Mal Werbung in eigener Sache...
          Ist zwar schlampig programmiert..aber vielleicht hilft es dir..

          Kommentar


          • #20
            register.php

            @ KinNeko,

            hab mir gerade mal dein Loginscript runtergeladen, aber irgendwie scheint die register.php zu fehlen!?

            Danke
            Daniel

            Kommentar


            • #21
              @KinNeko: Was ist denn die GLP?

              CAT Music Files

              Kommentar


              • #22
                Schau dir mal dieses Posting an.

                http://www.php-resource.de/forum/sho...?threadid=2849

                Datenbankbasierendes Loginscript
                *winks*
                Gilbert
                ------------------------------------------------
                Hilfe für eine Vielzahl von Problemen!!!
                http://www.1st-rootserver.de/

                Kommentar


                • #23
                  Re: register.php

                  Original geschrieben von langerxxx
                  @ KinNeko,

                  hab mir gerade mal dein Loginscript runtergeladen, aber irgendwie scheint die register.php zu fehlen!?

                  Danke
                  Daniel
                  Nein..*g*..die check.php ist zuviel dabei. Deswegen fehlt auch kinfunctions.php usw..
                  In der Register.php werden mehr Daten aufgenommen..weil das ganze ein Teil eines Kontaktanzeigenportal ist..
                  ..kann aber (allerdings erst im neuen jahr) ein einfaches register-script schreiben..
                  die datenbank enthält ja nur eine ID, username, passwort (codiert) und einen timestamp für den letzten login..

                  @Sky jo thx..vertippt..aber habe im Moment keine Zeit was zu verändern..vorallem nicht ohne Flat *grr*..

                  Kommentar


                  • #24
                    Eine neue Version ist jetzt oben..
                    ich hoffe die hat keine Bugs..

                    Kann jemand wohl für mich das Email senden testen ? Habe keinen Server und hier nur Win98

                    Kommentar


                    • #25
                      Danke!

                      @all

                      Danke für eure Hilfe, jetzt hab ich die Session-Geschichte endlich so weit verstanden, dass ich sie nutzen kann! Und ich bin kein Info... :-)

                      @KinNeko

                      Hab mir dein neues Script mal runtergeladen und bau es gerade ein wenig um, z.B. die crypt-Funktion läuft bei mir irgendwie nicht. Wenn ich mein Projekt fertig hab, schick ich dir mal meine Version rüber. Bisher scheint sonst aber alles ganz ok zu laufen. Thanks!

                      Gruß

                      langerxxx

                      Kommentar


                      • #26
                        Du könntest auch statt in jedem script den code einfügen die zugangsvariablen in der session speichern dann in jedem script nur:
                        <?
                        session_start();
                        ?>
                        und die variablen sind verfügbar
                        Beantworte nie Threads mit mehr als 15 followups...
                        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                        Kommentar


                        • #27
                          welche variablen meinst du ?

                          Kommentar


                          • #28
                            na alle die Du brauchst um den benutzer zu identifizieren
                            Beantworte nie Threads mit mehr als 15 followups...
                            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                            Kommentar


                            • #29
                              mach ich doch..
                              register("Username");

                              da der username unique ist reicht das..

                              dann frage ich nur ab ob der User eingeloggt ist (is_registered("Username") == true) ansonsten zeige ich das loginform an.

                              die ID wäre redudant..die Email brauche ich nicht ständig..das Passwort auch nicht..der timestamp ist nur da weil das ganze ein grundgerüst für ein flirtportal ist und die ANDEREN user sehen sollen wann der user online war und die IP logge ich nur weil das alle machen.

                              Welche Variablen soll ich sonst speichern ?

                              Edit :
                              @Sky
                              Wenn du die Variablen in normale Variablen umschreibst kann der User sich auch per ziel.php?userid=blah&&username=blah einloggen oder ?
                              Deswegen überschreiben doch die Sessionvariablen alles so dass das nicht geht..
                              ..habe ich jedenfalls in einem tut gelesen


                              [Editiert von KinNeko am 04-01-2002 um 02:39]

                              Kommentar


                              • #30
                                naja is ja lecker denn den Usernamen bekommt man sicher leicht raus wenn Du den als einzigen brauchst für ne Identifikation... :-)
                                Beantworte nie Threads mit mehr als 15 followups...
                                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                                Kommentar

                                Lädt...
                                X