# Login Seite erstellen



## perle93 (31. August 2010)

Hallo, ich habe mir überlegt, dass es gut wäre, wenn ich meine Seite für Kunden mit einem Loginfeld verbessere. So können Kunden direkt sich einloggen und Ihre Daten runterziehen. Jedoch wie erstelle ich ein solches Loginfeld, ohne grossen Aufwand?

Danke euch


----------



## ComFreek (31. August 2010)

Du musst auf jeden Fall folgende Sprachen können:

HTML
SQL
PHP/Perl/...
(Beim letzteren sind auch andere Sprachen möglich, aber PHP wird am meisten genutzt)


----------



## taurious (31. August 2010)

Es ginge auch mit noch weniger "Sprachkenntnissen".

http://de.selfhtml.org/servercgi/server/htaccess.htm#verzeichnisschutz


----------



## ComFreek (31. August 2010)

@Gast: Ich glaube perle93 kennt sich schon ein wenig mit PHP aus, oder? 
           Wäre aber auch möglich, doch Passwortvergessen ist nicht sehr leicht zu implementieren (<->MySQL).

Ich verweise mal auf einen siebenseitigen Thread, wo perle93 (Threadersteller(in)) und u.a. ich beteiligt war: Kopieren eines Formulars


----------



## taurious (31. August 2010)

ComFreek hat gesagt.:


> @Gast: Ich glaube perle93 kennt sich schon ein wenig mit PHP aus, oder?
> Wäre aber auch möglich, doch Passwortvergessen ist nicht sehr leicht zu implementieren (<->MySQL).
> 
> Ich verweise mal auf einen siebenseitigen Thread, wo perle93 (Threadersteller(in)) und u.a. ich beteiligt war: Kopieren eines Formulars


Was du so glaubst, interessiert mich hier die Bohne, und was da in der Vergangenheit schon alles für Themen besprochen wurden, worin du deinen Senf zum Besten gegeben hast, kannst du meinetwegen deiner Oma von berichten - vielleicht lässt sie sich ja davon beeindrucken.


----------



## ComFreek (31. August 2010)

*@Gast:* Ich wollte keinen Streit anfangen. Ich habe nur zwei Nachteile für deine Lösung genannt. Wo ist da das Problem? Das ist doch Fakt. Natürlich gibt es auch Vorteile, aber SQL ist dafür besser geeignet.


----------



## perle93 (31. August 2010)

Hey, nicht streiten und das letzte Mal hat es zwar etwas gedauert mit mir und meinen Fähigkeiten,-) Aber das Resultat kam gut an bei meiner Kundin. Es geht auch nicht um Recht oder Unrecht, sondern darum, das ich gerne eine Seite machen möchte, auf der meine Kunden sich einloggen können. Wenn sie ein PW vergessen haben sollten sie ein neues bekommen und auf die registrierte Mailadresse zu gesandt bekommen. Das es nicht einfach ist, dachte ich mir schon,-). wäre aber dennoch klasse, wenn sich jemand dafür Zeit nimmt,-))


Ich habe gestern ein Tut gefunden hier, finde es aber heute nicht wieder. Mit MySQL stehe ich derzeit noch etwas auf Kriegsfuss, möchte es aber gerne unter Anleitung verstehen und einsetzten. PHP ist nun auch etwas klarer ;-), aber das war ja nur ein Bruchteil den wir da durchgearbeitet haben, oder?


----------



## ComFreek (31. August 2010)

@perle93: Das war eher Copy&Paste 

Also zuerst brauchst du eine MySQL-Datentabelle. Meistens hat man immer folgende Grundstruktur:

```
CREATE TABLE users (id INTEGER PRIMARY KEY AUTO_INCREMENT,
                               username VARCHAR(30),
                               pw VARCHAR(40),
                               registerDate INTEGER
                              );
```
Die ID ist eine fortlaufende Zahl zur eindeutigen Identifikation.
Der Benutzer ist maximal 30 Zeichen lang (Kannst du ändern).
Das Passwort ist 40 Zeichen lang, weil wir die Passwörter mit MD5 & SHA verschlüsselt abspeichern.
registerDate speichert den Zeitpunkt der Registrierung als Sekunden seit 1970 (UNIX Timestamp).

Wenn du willst kannst du auch noch eine Tabelle "logins" machen, die alle Logins speichert:

```
CREATE TABLE logins (id INTEGER PRIMARY KEY AUTO_INCREMENT,
                                   userid INTEGER NOT NULL,
                                   loginDate INTEGER,
                                  );
```
Eventuell wäre eine Tabelle "badlogins" (mit IP-Adresse,...) auch möglich.

Ok, jetzt brauchst du das PHP-Skript, z.B. login.php:

```
<?php
  session_start();
  require_once("db.php"); // Datenbank konfigurieren, starten, ...
  
  if (isset($_POST['submit']))
  {
    
    $Username = mysql_real_escape_string($_POST['username']);  // Übertragene Daten in Variablen speichern
    $Password = mysql_real_escape_string($_POST['password']);  // und direkt escapen (gg. MySQL Injections)
    
    $Password = sha1(md5($Password));  // Passwort 2-mal verschlüsseln, Endergebnis 40-Zeichen lang
    
    $sql = "SELECT id FROM users WHERE username='".$Username."' AND password='".$Password."' LIMIT 1";
    $result = mysql_query($sql);
    
    if (mysql_num_rows($result)>0) // Ein Ergebnis gefunden = Login erfolgreich
    {
      $id = mysql_fetch_row($result);  // User ID in $id speichern
      $id = $id[0];
      
      $_SESSION['userid'] = $id;
      $_SESSION['username'] = $Username;
      $_SESSION['loggedIn'] = true;
      
      /*  $sql = "INSERT INTO logins (userid, loginDate) VALUES (".$id.",".time().")";
          mysql_query($sql);  */
      // Kommentare entfernen, wenn genutzt wird
    }
    else
    {
      $template = file_get_content("templates/login.html"); // Im Template eine Fehlermeldung schreiben
      $template = str_replace("<!-- login error -->", "<span class=\"loginerror\">Login nicht erfolgreich!</span>", $template);
      echo $template;
    }
    
  }
  else
  {
    require("templates/login.html");
  }
?>
```


----------



## perle93 (31. August 2010)

Wow, wäre echt toll, wenn du mir nochmals Hilfestellung gibst...Ich hoffe es kostet nicht gleich wieder 5 Mio. Nerven bei dir ;-). Aber es geht schon mit der ersten Frage los, woher, oder wie mache ich die Tabelle?


----------



## ComFreek (31. August 2010)

perle93 hat gesagt.:


> Wow, wäre echt toll, wenn du mir nochmals Hilfestellung gibst...Ich hoffe es kostet nicht gleich wieder 5 Mio. Nerven bei dir ;-). Aber es geht schon mit der ersten Frage los, woher, oder wie mache ich die Tabelle?


  
Siehe meinen Beitrag


----------



## perle93 (31. August 2010)

Habe es gesehen und als PHP eingefügt, wie würdest du die Datei nennen?


----------



## ComFreek (31. August 2010)

Zum Beispiel "login.php".

Du musst aber noch die Templatedatei "login.html" erstellen. Ich glaube, das kriegst du selber hin .


----------



## perle93 (31. August 2010)

ok, das kriege ich hin, wenn ich weiss was rein soll ;-). Ist es die Datei, wo die Schriftfelder sind zum Einloggen?


----------



## ComFreek (31. August 2010)

Genau. Du musst aber noch die Namen der Felder anpassen, z.B: "username", "password" und beim Submitbutton noch "submit".


----------



## perle93 (31. August 2010)

oh man, dass werde ich mal machen,-) werde es dir dann zur Kontrolle dann senden ;-). Aber das wird erst später sein, danke dir schon mal.

Du hast am Ende sicherlich am meisten "Danke" von allen Usern ;-)


----------



## ComFreek (31. August 2010)

perle93 hat gesagt.:


> Du hast am Ende sicherlich am meisten "Danke" von allen Usern ;-)


Das wär gut 



perle93 hat gesagt.:


> oh man, dass werde ich mal machen,-) werde es dir dann zur Kontrolle dann senden . Aber das wird erst später sein, danke dir schon mal.


Ok,...


----------



## perle93 (13. September 2010)

So, da bin ich wieder, tut mir Leid!! Ich habe nun das login.html gemacht und stelle es dir mal rein zur Kontrolle.


```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Unbenanntes Dokument</title>
</head>

<body>


<div style="position:absolute; top: 180px; left: 60px; width: 40px; height: 19px; font-family: verdana; font-size: 13px;"><input name="username" type="text" /></div>

<div style="position:absolute; top: 210px; left: 60px; width: 40px; height: 19px; font-family: verdana; font-size: 13px;"><input name="passwort" type="text" /></div>



<div style="position:absolute; top: 240px; left: 60px; width: 40px; height: 19px; font-family: verdana; font-size: 13px;"><input name="submit" type="button" value="Absenden" /></div>







</body>
</html>
```


Ist das so ok?


----------



## ComFreek (13. September 2010)

HTML ist korrekt laut W3C-Validator.

Aber du hast das form-Tag vergessen!

Weitere Anmerkungen:

Beim Passwortfeld hast du   name="passwort"   gesetzt, also das Deutsche Wort. Wohingegen du beim Feld für den Benutzernamen den Englischen Namen vergeben hast.
*Aber das ist reine Ansichtssache *

Ich würde es vermeiden mit Pixelangaben zu arbeiten. Da es bei verschiedenen Bildschirmen natürlich anders aussieht. Stattdessen könnte man z.B. em-Angaben machen.


----------



## perle93 (13. September 2010)

Dann reicht es so?

```
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Unbenanntes Dokument</title>
</head>

<body>

<form action="form_action.asp" method="get">
  Vorname: <input type="text" name="vorname" /><br />
  Nachname: <input type="text" name="nachname" /><br />
  <input type="submit" value="Absenden" />
</form>




</body>
</html>
```


----------



## ComFreek (13. September 2010)

Bei Logins würde ich POST verwenden.
Außerdem fehlt jetzt der Doctype.

Ein Lösungsvorschlag:

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
  </head>

  <body>

  <form action="form_action.asp" method="post">
    Vorname: <input type="text" name="vorname" /><br />
    Nachname: <input type="text" name="nachname" /><br />
    <input type="submit" value="Absenden" name="submit" />
  </form>
 </html>
```


----------



## perle93 (13. September 2010)

ok, das habe ich nun so geändert. Wie kann ich die denn nun positionieren, wenn div nicht gut ist und was fehlt noch?


----------



## ComFreek (13. September 2010)

Also das eine ist das Design und das andere die Programmierung der Logik.

Ich habe mal kurz eine einfache Seite erstellt:


*login.xhtml:*

```
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Login</title>
    
    <style type="text/css">
      #loginbox
      {
        width:20em;
        margin:0 auto;
      }
      #loginbox table
      {
        text-align:left;
      }
      #loginbox h1
      {
        text-align:center;
      }
      #loginbox #tableRowPasswordLost
      {
        font-size:0.9em;
        font-family:monospace;
        text-align:right;
      }
      #loginbox #tableRowSubmitButton
      {
        text-align:center;
      }
      #loginbox #tableRowSubmitButton td input
      {
        font-size:1.3em;
      }
    </style>
    
  </head>
  <body>
    <div id="loginbox">
      <h1>Login</h1>
      <hr />
      <form action="yourscript.php" method="post">
        <table>
          <tr>
            <th>Benutzername:</th>
            <td><input type="text" name="username" /></td>
          </tr>
          <tr>
            <th>Passwort:</th>
            <td><input type="password" name="password" /></td>
          </tr>
          <tr id="tableRowPasswordLost">
            <td colspan="2"><a href="http://www.google.de">Benutzername vergessen</a> &bull; <a href="http://www.google.de">Passwort vergessen</a></td>
          </tr>
          <tr id="tableRowSubmitButton">
            <td colspan="2"><input type="submit" value="Login" name="submit" /></td>
          </tr>
        </table>
      </form>
    </div>
  </body>
</html>
```
Den kannst du natürlich beliebig anpassen!
Beachte, dass das *XHTML* ist und *nicht HTML*


----------



## perle93 (13. September 2010)

Was bedeutet das mit XHTML und HTML. Was muss genau beachten? Kann ich das als HTML Datei einsetzen? Wie ist es eigentlich, wenn einer sein PW verliert, kann ich es ihm erneut zusenden? Sehe ich das PW überhaupt?


----------



## ComFreek (13. September 2010)

Guck mal hier: http://de.selfhtml.org/html/xhtml/unterschiede.htm

Eigentlich speichert man das Passwort in der Daten einweg-verschlüsselt. Das heißt, du kannst es nicht mehr wiederherstellen (normalerweise...). Wenn der Nutzer sein PW vergessen hat, wird meistens eine Mail mit einem Link geschickt. Wenn man den  Link anklickt, kann man dann ein neues Passwort wählen.


----------



## perle93 (14. September 2010)

Wenn ich das nun alles mit meinem Laienwissen verstanden habe, kann ich es so einbinden. Es sind zwei "Sprachen", die unterschiedlich auf den Browsern angewendet werden können. 

Also was brauche ich dann genau für das Login? eine login.html, eine login.php und was noch? Und vor allem, wie werden nachher die Ordner angepasst, auf die zugegriffen werden?!

Also wird ein PW automatisch erstellt und werden beim Neuanfordern auch neu generiert und an die angegebene Emailadresse gesendet?


Wäre es dann noch gut, das die Kunden ein Formular ausfüllen, damit ich weiss wer sich da so anmeldet?


----------



## ComFreek (14. September 2010)

perle93 hat gesagt.:
			
		

> Wenn ich das nun alles mit meinem Laienwissen verstanden habe, kann ich es so einbinden. Es sind zwei "Sprachen", die unterschiedlich auf den Browsern angewendet werden können.


XHTML ist im Prinzip HTML, nur strikter!
Du kannst auch folgendes HTML nutzen:

```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
               "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Login</title>
    
    <style type="text/css">
      #loginbox
      {
        width:20em;
        margin:0 auto;
      }
      #loginbox table
      {
        text-align:left;
      }
      #loginbox h1
      {
        text-align:center;
      }
      #loginbox #tableRowPasswordLost
      {
        font-size:0.9em;
        font-family:monospace;
        text-align:right;
      }
      #loginbox #tableRowSubmitButton
      {
        text-align:center;
      }
      #loginbox #tableRowSubmitButton td input
      {
        font-size:1.3em;
      }
    </style>
    
  </head>
  <body>
    <div id="loginbox">
      <h1>Login</h1>
      <hr>
      <form action="yourscript.php" method="post">
        <table>
          <tr>
            <th>Benutzername:</th>
            <td><input type="text" name="username"></td>
          </tr>
          <tr>
            <th>Passwort:</th>
            <td><input type="password" name="password"></td>
          </tr>
          <tr id="tableRowPasswordLost">
            <td colspan="2"><a href="http://www.google.de">Benutzername vergessen</a> &bull; <a href="http://www.google.de">Passwort vergessen</a></td>
          </tr>
          <tr id="tableRowSubmitButton">
            <td colspan="2"><input type="submit" value="Login" name="submit"></td>
          </tr>
        </table>
      </form>
    </div>
  </body>
</html>
```

Ich habe mal den Loginvorgang schematisch dargestellt:


----------



## perle93 (14. September 2010)

So, habe das nun eingefügt... aber wie geht es weiter? Brauche ich dafür echt MySQL?


----------



## ComFreek (15. September 2010)

Gut!
Man muss doch irgendwie die Daten speichern.
Empfehlenswert ist hier eine Datenbank, z.B. MySQL.
Du kannst auch Textdateien verwenden, aber bei Datenbanken sind schon viele Ausdrücke dabei, wie LIMIT, GROUP oder JOIN.

Falls du dich für (My)SQL entscheidest, dann würde ich folgende Tabellen erstmal anlegen:

*users*:

```
CREATE TABLE users (id INTEGER PRIMARY KEY AUTO_INCREMENT,
                               username VARCHAR(20) NOT NULL,
                               pw VARCHAR(40) NOT NULL,
                               registerdate INTEGER NOT NULL DEFAULT NOW()
                              );
```
*logins*:

```
CREATE TABLE logins (id INTEGER PRIMARY KEY AUTO_INCREMENT,
                               userid INTEGER,
                               logindate INTEGER NOT NULL DEFAULT NOW(),
                               ip VARCHAR(15),
                               success TINYINT NOT NULL DEFAULT 1
                              );
```


----------



## SpiceLab (15. September 2010)

Hab den Beitrag dem Team gemeldet, damit er ins Progarmmierforum verschoben wird, denn mit der Auszeichnungssprache hat dies hier wahrlich nichts mehr zu tun.

@perle93:  Bitte lies dich mal in die Materie ein, um dir ein gewisses Grundlagenwissen anzueignen, das wahrlich nicht die Aufgabe eines Forums ist, denn dieser Thread sprengt mittlerweile den Rahmen, was hier die Anzahl der Beiträge eindeutig dokumentiert.


----------



## perle93 (15. September 2010)

Wie erstellt man denn eine MySQL Tabelle?


----------



## SpiceLab (15. September 2010)

perle93 hat gesagt.:


> Wie erstellt man denn eine MySQL Tabelle?


 
*_dito_* 

Nutze mal die Suchfunktion im Forum (http://www.tutorials.de/relationale-datenbanksysteme/), um  deine Frage eigenständig zu beantworten.


----------



## ComFreek (15. September 2010)

Ich sag mal jetzt nichts, du musst ja schließlich auch was alleine tun, perle93


----------



## perle93 (16. September 2010)

man seid ihr gemein,-)) ich werde mal suchen gehen, danke euch


----------



## ComFreek (17. September 2010)

Ich würde mal sagen, dass du _irgendwie_ den Code ausführen solltest.


----------



## SpiceLab (18. September 2010)

perle93 hat gesagt.:


> man seid ihr gemein,-))


Nö, vielmehr doch deiner einer selbst, der uns das  unterstellt, ohne uns auch nur einen halben Meter weit persönlich zu kennen,  und das frei Haus, sozusagen zum Dank, weil hier von dir Eigeninitiative und aktives Mitarbeiten erwartet, ja vorausgesetzt wird. Es ist nämlich grundsätzlich nicht die Aufgabe eines / dieses Forums, die volle Bandbreite an fehlendem Grundlagenwissen einem User in seinem einen Thema bzgl. einer Login-Seite zu vermitteln.

Das war, das ist, und das bleibt weiterhin das Kerngeschäft des Nutzers, sich in dem  Fachbereich die erforderlichen / benötigten Kenntnisse und Fertigkeiten eigenständig anzueignen, um sein Projekt voranzubringen, zumal wenn es auf einer gewerblichen Ebene abläuft, die einem die Brötchen sichern sollen.

Nach eigener Aussage willst du das für eine "Kundin" einrichten, woraus ich ein klassisches Dienstleistung-Vertragsverhältnis zwischen euch beiden annehme, dessen juristischen Klauseln sicher keine Freifahrscheine formulieren, die  deine Kunden zum  Null-Tarif auf deine erbrachten Dienstleistungen berechtigen, einladen. 

Stell dir das Szenario vor, ich behaupte dir irgendwann beiläufig gegenüber,  Facharzt für Orthopädie zu sein, und glänze auf ganzer Linie ohne Plan, und für Plan "B" sieht's in dem Moment auch mau aus, als du dich zufällig bei mir nach dem Unterschied zwischen Bänderriss und Fraktur erkundigen willst, damit die richtige Therapiemaßnahme eingeleitet wird.

Da würd' ich aber mit 'nem hochroten Tomaten-Kopf ein langes Gesicht machen :suspekt:

Anderes Beispiel für eine fachliche Qualifikation im ausgeübten Berufsfeld:

Ohne die erfolgreiche Teilnahme an einer mehrtägigen Ausbildung bei der BG Holz (Berufsgenossenschaft) an den einzelnen stationären Holzbearbeitungsmaschinen, die in einer Holzwerkstatt (Schreinerei, Tischlerei) betrieben werden, ist es dir rechtlich untersagt, die Tischkreissäge, die Abrichte,  die Tischfräse, die Schleifmaschine, usw. zu bedienen. 

Tust du es dennoch, und erlebst einen Unfall, bei dem du zwei Finger deiner rechten Hand verlierst, übernimmt kein Leistungsträger (Krankenversicherung, BG) deine Zeche (Kosten für OP, Arzt, mehrwöchiger/-monatiger  Aufenthalt in diversen Fach- und Reha-Kliniken, u.v.m.).

But, back to Topic ;-)

Tutorials und Codesnippets für Login-Seiten gibt's, wie schon vom wahren Leben bekannt, wie Sand am Meer. Und das nicht nur hier auf tutorials.de (http://www.tutorials.de/forum.php?f=274), sondern im großen weiten weltumspannenden WWW.

Sofern die "93" am Ende deines Nicks für dein Geburtsjahr steht, solltest du dich bei uns (Comfreek -mit zwei "ee"- und mir) für deine (auf mich leider erbärmlich wirkenden) Kindergarten-Aufstand-Vorstellung entschuldigen, und deinen Mitmenschen gegenüber deinem Alter gebührend auftreten.


----------



## ComFreek (18. September 2010)

spicelab hat gesagt.:


> (Comfreek -mit zwei "ee"- und mir)


Vielen Dank, spicelab, dass du meinen Namen mit doppelt *ee* schreibst!

Ich denke du hättest es auch kürzer schreiben können


----------



## SpiceLab (18. September 2010)

In der Kürze liegt die Würze. Weniger ist mehr. 

Klar, steh ich voll dahinter, aber mer Südbadenser schwätze halt auch mal ganz gerne, wie uns die Gosche g'wachse is


----------



## perle93 (20. September 2010)

@ spicelab
Vielen Dank für deine ausführliche Nachricht. Ich antworte nur auf einige Sachen aus deiner Nachricht. 

- ich habe anfangs geschrieben, das ich Null Ahnung habe, mir ist einfach nie klar, was ein z.B. , oder eine ; oder () in einem Code bedeuten können, deswegen schrieb ich es ja auch, Null Ahnung. Ich sehe da eher ein kindliches Verhalten bei Vergleichen zwischen einer Internetseite erstellen und einem chirurgischen Eingriff, aber das nur nebenbei.

- Es ist für meine Seite, die ich gewerblich nutze (gerne kann man über eine Endlöhnung sprechen für Comfreek, tut mir leid, wenn ich es mit ae geschrieben habe). 

- 93 steht nicht für mein Geburtsjahr, eine Entschuldigung für ein Kindergartenaufstand sehe ich nicht

- und das schönste ist, keiner wurde je gezwungen mir zu helfen, also wenn es dich dermassen stört, dann liess einfach wo anders weiter. Wenn ich hier keine Hilfe bekomme, wie ich es mir vorstelle, dann muss ich auch weiter suchen gehen, oder? Wenn ich nun alles selber raussuchen soll, dann frage ich mich immer, warum es solche Foren gibt?! Klar gibt es immer spezielle Fragen, die man nicht immer findet, aber dann sollte man das auch so direkt vermerken und Fragen, wie die meinen nicht erst online stellen dürfen.


----------



## ComFreek (20. September 2010)

Ich helfe gerne aber perle93, ich würde dir empfehlen einige Tutorials durchzulesen oder besser ein Buch zu kaufen. Schließlich willst du ja auch etwas lernen und später Sachen selber machen, oder?

perle93, ich erklär dir jetzt mal, wie das mit MySQL funktioniert.

Du kannst MySQL-Befehle entweder über eine Schnittstelle (z.B PHP: mysql_query) oder über die Konsole ausführen.

Wenn du Befehle auf einem Online-Server ausführen möchstest, empfehle ich dir z.B. PHPMyAdmin.
Meistens kannst du für einen Online-Server die Konsole *nicht* nutzen.

Bei PHPMyAdmin musst du erst die Datenbank auswählen, danach gehst du in den Reiter "SQL".
Da rein kopierst du meinen Code:

```
CREATE TABLE users (id INTEGER PRIMARY KEY AUTO_INCREMENT,
                               username VARCHAR(20) NOT NULL,
                               pw VARCHAR(40) NOT NULL,
                               registerdate INTEGER NOT NULL DEFAULT NOW()
                              );
```
---

```
CREATE TABLE logins (id INTEGER PRIMARY KEY AUTO_INCREMENT,
                               userid INTEGER,
                               logindate INTEGER NOT NULL DEFAULT NOW(),
                               ip VARCHAR(15),
                               success TINYINT NOT NULL DEFAULT 1
                              );
```
Jeweils einzeln.

Wenn du die Konsole verwendest musst du zuerst die Datenbank mit use DB-Name auswählen und danach meinen Code kopieren.
(Um den Code zu kopieren, musst du zuerst Strg+C drücken, danach in der Konsole Rechte Maustaste+Einfügen)

Danach kannst du dich ja wieder melden.




			
				perle93 hat gesagt.:
			
		

> Comfreek, tut mir leid, wenn ich es mit ae geschrieben habe


Das "F" schreibt man auch noch groß 
Aber das ist nicht so wichtig...


----------

