Frage zu Login Scipt

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

  • Frage zu Login Scipt

    huhu,

    ich habe ein einfaches Login Scipt un möchte dieses nun ein wenig erweitern.

    Mit dem Script kann sich halt ein User registrieren, nur ist er direkt freigeschaltet. Nur wie kann ich es nun machen das er erst einen Link per email geschickt bekommt und erst wenn er diesen anklickt aktiviert ist?

    Dann hätte ich gerne eine Passwort vergessen funktion. Heißt ein User gibt seine Email Adresse an mit der er sich registriert hat, es wird dann für diesen User ein neues Passwort eingetragen, er bekommt den Link zugeschickt wo er direkt eingeloggt ist und kann dann dort sein Passwort direkt wieder ändern. Wie ist so etwas realisierbar?

    Und zuletzt würde ich gerne die User noch in Gruppen einteilen. Heißt wenn sich jemand neu registriert ist er User. Dann möchte ich das per php datei im adminbereich ändern können auf einen anderen status. Wie ist das machbar und wie muss ich die session_start() variable anpassen das dann auch nur registrierte user in der Gruppe xy zugriff auf die Seite bekommen?

    Danke im Vorraus

  • #2
    Hallo,

    zum Aktivieren: Extra Feld: 0 oder 1 als wert...und dann per link inner mail aktivieren lassen...

    zum pw-vergessen:
    du suchst nach der email...updatest das pw, und schickst ihm das neue zu...dann soll er sich selber einloggn...
    wenn du ihn zu ner seite, wo er direkt einloggt ist weiterleitest, dann geb ich deine emailaddi an und ich hab den admin-account

    zum 3: würde das ganze ähnlich wie das 1. machen...und dann für jedes ne gruppe anlegen...

    mfg

    Kommentar


    • #3
      hmmm also erst mal eins nach dem anderen.

      Zum Aktivieren. Extra Spalte in tabelle "status" default 0 also nicht aktiv. Der user registiert sich mit seinem Benutzernamen, passwort und Email Adresse. Der Benutzer wird in der Datenbank hinzugefügt aber ist noch nicht aktiviert. Er bekommt den Link zur aktivierung per email. so per link wird er also z.b zu einer activation.php gelinkt....nur wie muss diese aussehen das sie den benutzer erkennt und eben den status ändert? also von 0 auf 1? Und wie muss ich dann die "session_start()" schreiben das diese dann auch noch prüft ob der status 0 oder 1 ist?

      Danke im Vorraus

      Kommentar


      • #4
        Du könntest nach der Registrierung einen Aktivierungs-Code (Hash) generieren und diesen in der Datenbank unter dem Benutzer ablegen. Diesem schickst du dann eine E-Mail mit einem Aktivierungs-Link (z.B.: www.deine-domain.de/user.php?task=activate&activation_code=hash). Besucht der Benutzer diesen Link, gleicht dein Skript den übergebenen Aktivierungs-Code mit dem in der Datenbank ab und setzt den Status der Aktivierung bei Übereinstimmung auf 1.
        Zuletzt geändert von wahsaga; 18.06.2007, 22:57.
        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          ja ok das ist gut danke schonmal. Nur jetzt hab ich noch eine Frage (steh da grade voll auf dem schlauch sorry^^). Wie generiert man denn einen zufälligen code? also mit welchem php bzw mqsql befehl? den rest bekomme ich dann wohl alleine hin^^

          Kommentar


          • #6
            Such mal im Online Manual nach uniqid, alternativ kannt du dir aber auch eine Funktion schreiben, die aus einen bestimmten Buchstaben-Zahlen-Pool zufällige und möglichst schwer rekonstruierbare Zeichenketten generiert.
            Nieder mit der Camel Case-Konvention

            Kommentar


            • #7
              oder z.B. md5(microtime())

              Kommentar


              • #8
                Original geschrieben von asp2php
                oder z.B. md5(microtime())
                Hm, würdest du dich wirklich darauf verlassen? Zugegeben, die Wahrscheinlichkeit ist ziemlich gering... Aber das Prinzip ist zu leicht zu rekonstruieren.
                Nieder mit der Camel Case-Konvention

                Kommentar


                • #9
                  Besucht der Benutzer diesen Link, gleicht dein Skript den übergebenen Aktivierungs-Code mit dem in der Datenbank ab und setzt den Status der Aktivierung bei Übereinstimmung auf 1.
                  auf eine Statusspalte kann man verzichten, wenn man nach Aktivierung den Link in der DB einfach löscht oder auf 0 setzt.

                  Kommentar


                  • #10
                    Original geschrieben von Griecherus
                    Hm, würdest du dich wirklich darauf verlassen? Zugegeben, die Wahrscheinlichkeit ist ziemlich gering... Aber das Prinzip ist zu leicht zu rekonstruieren.
                    es ist nur ein Bsp. und dient nur als Ansatz

                    Kommentar


                    • #11
                      kann ich die Syntax also so verwenden?

                      PHP-Code:
                      $aktivierungscode uniqid(rand()));

                      $insert mysql_query("INSERT INTO USERS SET 
                      user = '
                      $user', 
                      pass = '
                      $passwort', 
                      email = '
                      $email', 
                      akticode = '
                      $aktivierungscode'"); 

                      Kommentar

                      Lädt...
                      X