Tutorials

Login und Registrierung Tutorial

Einloggen
Benutzername:
Passwort:

Passwort vergessen?
Kostenlos
Anmelden
anzeigen
Login und Registrierung


15935 - habbolegend - 27.09.2009 16:01 Uhr - Version: 1 - - verlinken als BB-Code


Hey, wieder ein Tut von mir, diesmal geht es um ein Login und Registrierungs Script!

Ihr braucht:

eintragen.html
eintragen.php
login.html
login.php
geheim.php
user.txt (muss nicht sein, wird automatisch erstellt)

Los gehts..

Als erstes die eintragen.html
In dieses Dokument kommt einfach eine Tabelle, inder diejenigen die sich registrieren wollen, ein Benutzername und ein Passwort eintragen können. Wichtig hierbei ist form action="eintragen.php".
Denn aus Sicherheitsgründen wird der PHP-Code immer extra geschrieben, damit Hacker das Dokument nicht manipulieren können.
1
2
3
4
5
6
7
8
9
10
11
12
13
<form action="eintragen.php" method="post" name="form1">
    Dein User-Name:<br>
    <input type="text" size="24" maxlength="50" name="username" value="">     <br><br>


    Dein Passwort:<br>
    <input type="password" size="24" maxlength="50" name="passwort" value="">     <br>

    Passwort wiederholen:<br>
    <input type="password" size="24" maxlength="50" name="passwort2" value="">     <br>  <br>

    <input type="submit" value="Registieren">
    </form>


Jetzt eintragen.php:

Zuerst werden Username, Passwort und die Passwortwiederholung aufgenommen.
1
2
3
4
<?php
    $username 
$HTTP_POST_VARS["username"];
    
$password $HTTP_POST_VARS["passwort"];
    
$password2 $HTTP_POST_VARS["passwort2"];

Wenn das Passwort und die Wiederholung übereinstimmen, wird das Passwort in md5 verschlüsselt.
1
2
3
4
if ($password == $password2)
       {
       $user_vorhanden = array();
       $passwort = md5($password);


Jetzt wird user.txt geöffnet/erstellt und Username und Passwort eingetragen.
1
2
3
4
5
6
7
8
$userdatei = fopen ("user.txt","r");
       while (!feof($userdatei))
          {
          $zeile = fgets($userdatei,500);
          $userdata = explode("|", $zeile);
          array_push ($user_vorhanden,$userdata[0]);
          }
       fclose($userdatei);


Hier wird geprüft ob der Username verfügbar ist, wenn nicht erscheint Username schon vorhanden.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if (in_array($username,$user_vorhanden))
          {
          echo "Username schon vorhanden <br> <a href=\"eintragen.html\">zur&uuml;ck</a>";
          }

       else
          {
          $userdatei = fopen ("user.txt","a");
          fwrite($userdatei, $username);
          fwrite($userdatei, "|");
          fwrite($userdatei, $passwort);
          fwrite($userdatei, "\n");
          fclose($userdatei);
          echo "$username, deine Anmeldung war erfolgreich<br><a href=\"index.html\">Zur Startseite</a>";
          }
       }


Hier wird geprüft, ob die beiden Passwörter übereinstimmen.
1
2
3
4
5
6
else
      {
      echo "Die Passw&ouml;rter sind nicht identisch<br> <a href=\"eintragen.html\">zur&uuml;ck</a> ";
      }

    ?>


Wenn alles geklappt hat könnt ihr euch nun einloggen.

Erstmal die Tabelle zum Einloggen:
1
2
3
4
5
6
7
8
9
10
11
<form action="login.php" method="post" name="form1">
    Dein User-Name:<br>

    <input type="text" size="24" maxlength="50" name="username" value="">     <br>


    Dein Passwort:<br>
    <input type="password" size="24" maxlength="50" name="password" value="">     <br>

    <input type="submit" value="Login">
    </form>


Jetzt wieder zum PHP-Part (login.php)

Als erstes wird Username und Passwor wieder aufgenommen.
1
2
3
4
5
<?php
    $username 
$_POST["username"];
    
$passwort $_POST["password"];
    
$passwort md5($passwort);
    
$log=0;


Jetzt wird die Textdatei geöffnet und nach dem Usernamen und dem Passwort gefragt.
1
2
3
4
5
$userdatei = fopen ("user.txt","r");
    while (!feof($userdatei))
       {
       $zeile = fgets($userdatei,500);
       $userdata = explode("|", $zeile);


Wenn Passwort und Username übereinstimmen: Der Login war erfolgreich. Jetzt kann der eingeloggte in den geschützten Bereich.
1
2
3
4
5
6
7
8
if ($userdata[0]==$username and $passwort==trim($userdata[1]))
          {
          $_SESSION['username'] = $username;
          echo "Login war erfolgreich. <a href=\"geheim.php\">Gesch&uuml;tzer Bereich</a>";
          $log = 1;
          }
       }
    fclose($userdatei);


Wenn das Passwort/Username falsch ist, dann "Zugriff verweigert".
1
2
3
4
<?php
    $username 
$HTTP_POST_VARS["username"];
    
$password $HTTP_POST_VARS["passwort"];
    
$password2 $HTTP_POST_VARS["passwort2"];
0

geheim.php

Wollt ihr einen geschützten Bereich, braucht ihr nur über den HTML-Text, ganz oben als erstes folgenden Code schreiben:
1
2
3
4
<?php
    $username 
$HTTP_POST_VARS["username"];
    
$password $HTTP_POST_VARS["passwort"];
    
$password2 $HTTP_POST_VARS["passwort2"];
1

Hier wird nur geprüft, ob der User eingeloggt ist.


Ich hoffe ihr versteht es.. wenn es fragen gibt per PN melden!

Mitglieder-Kommentare


#8 von zerfleischer
Kannst du uns bitte die Fehlermeldung geben?

Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben
#7 von JPDE
ok in line 10 und 12 von eintragen.php ist ein fehler

und bei login.php on line 7 und 9
#6 von JPDE
wo kommt wie hin? irgendwie schwer zu wissen wenn das alles ausseinander ist
#5 von ntmb
Woran scheitert es den genau?
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
#4 von DeMeier
Bei mir klappt das iwie nicht Smily NR:9 kann mir vielleicht einer weiter helfen?
#3 von Esel921.de
wo muss ich die untersten schnipsel einfügen?
#2 von DennisLEV
Wie geil ist dass denn bitte. Das es sowas gibt wusste ich auch nicht, direkt mal einbinden Smily NR:8
#1 von ntmb
Zitat:
...aus Sicherheitsgründen wird der PHP-Code immer extra geschrieben, damit Hacker das Dokument nicht manipulieren können...

Das verstehe ich nicht :-/, warum sollte es besser sein den Code und das Formular zu trennen?

Gruß
Eugen
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen

Nur registrierte Mitglieder könnten einen Kommentar schreiben.

Melde dich doch ganz einfach an, es ist kostenlos. :-)