Tutorial's von A - Z (www.Knuddels.de.ch.at.MFC)  
 
  [MYSQL]Login Script 24.06.2025 22:30 (UTC)
   
 
[MYSQL]Login Script
Hier zeige ich euch wie Ihr mit Hilfe von PHP und MYSQL ein Login Script selber schreiben könnt.

Daher werden wir in diesem Tutorial insgesamt sechs Dateien anlegen:

connect.inc.php -> Datei mit Verbindungsdaten zum MySQL-Server
index.php -> Die Seite mit dem Formular zum Anmelden
logout.php -> Die Seite, die nach dem Logout angezeigt wird und die die Session zerstört
neu.php -> Die Seite, in der ein neuer Benutzer angelegt wird
sichere_seite.php -> Die Seite, die nach erfolgreichem LogIn angezeigt wird

1. Die Tabelle "users" für die Datenbank!

Ich gehe mal davon aus, dass eine Datenbank mit dem Namen login erstellt wurde. Sollte dies nicht der
Fall sein, muss die Datei connect.inc.php auf die entsprechende Datenbank angepasst werden.

Um die Benutzerdaten zu speichern brauchen wir natürlich eine entsprechende Tabelle.

Hier zunächst die Angaben, um die Tabelle "users" zu erstellen:

Code:
  1. CREATE TABLE `users` (

  2. `id` INT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,

  3. `user` VARCHAR( 20 ) NOT NULL ,

  4. `pass` VARCHAR( 50 ) NOT NULL ,

  5. PRIMARY KEY ( `id` )

  6. ) TYPE = MYISAM ;

Dann müssen wir uns noch einen Benutzer anlegen.
Hierzu führen wir folgenden MySQL-Befehl aus:

Code:
INSERT INTO `users` ( `id` , `user` , `pass` ) VALUES ('', 'admin', '21232f297a57a5a743894a0e4a801fc3');
Hiermit haben wir uns nun den User admin mit dem Passwort admin angelegt.



2. Die connect.inc.php

PHP-Code:
<?php $dbHost "localhost"$dbUser "root"$dbPass "Passwort"$dbName "login"$connect = @mysql_connect($dbHost$dbUser$dbPass); $selectDB = @mysql_select_db($dbName$connect); ?>
3. Die Datei index.php

Diese Datei dient uns als Indexseite mit dem Anmeldeformular, das zwei Eingabefelder für den Benutzernamen und
das Passwort enthält.
Ebenso enthält diese Datei auch Abfragen ob der Benutzername und das Passwort eingegeben wurde und nimmt auch
gleich den Datenbankabgleich des Passwortes vor.

PHP-Code:
<?php session_start(); require("connect.inc.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>LogIn zum Adminbereich</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <?php if(!isset($_POST['submit'])) { ?> <form action="<?php $PHP_SELF ?>" method="post"> <table width="400" bgcolor="#000000" border="0"  cellpadding="5" cellspacing="1" align="center"> <tr> <td bgcolor="#e7e7e7" align="center" colspan="2"> <b>Bitte erst anmelden</b> </td> </tr> <tr> <td width="170" bgcolor="#e7e7e7">Benutzername</td> <td width="230" bgcolor="#ffffff"> <input type="text" name="username" size="20" class="input" <?php if($_POST['username'] != "" ) {echo ' value="'.$_POST['username'].'"';} ?>></td> </tr> <tr> <td width="170" bgcolor="#e7e7e7">Passwort</td> <td width="230" bgcolor="#ffffff"> <input type="password" name="password" size="20" class="input"></td> </tr> <tr> <td bgcolor="#e7e7e7" align="center" colspan="2"> <input type="submit" name="submit" value="Anmelden" class="button"> </td> </tr> </table> </form> <?php }elseif(!$_POST['username'] || $_POST['username'] == "") { echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br /><br /> <a href="index.php">Zurück</a></p>'; }elseif(!$_POST['password'] || $_POST['password'] == "") { echo '<form action="index.php" method="post">'; echo '<p align="center">Ein Passwort brauchen wir schon ;-)<br /><br />'; echo '<input type="hidden" name="username" value="'.$_POST['username'].'">'; echo '<input type="submit" name="zurueck" value="Zurück">'; echo '</p>'; echo '</form>'; }else{ $password md5($_POST['password']); $query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'"); $result = @mysql_fetch_array($query) or die('<p align="center"> Sorry, aber dieser Benutzername existiert nicht!<br /><a href="index.php">Zurück</a></p>'); if($password != $result['pass']){ echo '<form action="index.php" method="post">'; echo '<p align="center">Sorry, aber dieses Passwort ist falsch!<br /><br />'; echo '<input type="hidden" name="username" value="'.$_POST['username'].'">'; echo '<input type="submit" name="zurueck" value="Zurück"></p>'; echo '</form>'; die; }else{ $user $result['user']; session_register('user'); echo '<p align="center">LogIn erfolgreich! :-)<br /><br /> <a href="sichere_seite.php">Weiter</a></p>'; } } ?> </body> </html>
4. Die Datei sichere_seite.php

Unsere nächste Datei soll die "sichere Seite" darstellen, die nach erfolgreichem Login und Klick auf den Link in
der "index.php" erscheint.


PHP-Code:
<?php session_start(); if(!session_is_registered('user') || $_SESSION['user'] == "") { header("location:index.php"); die; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Sichere Seite</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <table width="400" bgcolor="#000000" border="0" cellpadding="5"  cellspacing="1" align="center"> <tr> <td bgcolor="#e7e7e7" align="center"> <?php echo "<b>Hallo ".$_SESSION['user']."</b>"?> <br /><br /> <b>Hier ist der sichere Inhalt!</b> <br /><br /> <a href="neu.php">Neuen Benutzer anlegen</a> <br /><br /> <a href="logout.php">LogOut</a> </td> </tr> </table> </body> </html>
5. Die Datei logout.php

Diese Datei ist dafür zuständig, die Sessiondatei auf dem Webserver zu löschen und, falls dieses schief gehen
sollte, eine Meldung anzuzeigen.


PHP-Code:
  <?php session_start(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>LogOut</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <?php $user $_SESSION['user']; if(session_destroy()) { echo '<p align="center">Bye bye '.$user.'<br /><br /> Du hast Dich erfolgreich abgemeldet.<br /><br /><a href="index.php">Zur Anmeldung</a></p>'; }else{ echo '<p align="center">Beim Abmelden trat leider ein Fehler auf! <br /><br />Bitte schliesse Dein Browserfenster.'; } ?> </body> </html>
6. Die Datei neu.php

Mittels der Datei "neu.php" wird ein neuer Benutzer in die Datenbank eingetragen. Das Anlegen erfolgt über ein Formular, in
das der Benutzername und zweimal das Passwort eingegeben werden müssen.

PHP-Code:
<?php session_start(); if(!session_is_registered('user') || $_SESSION['user'] == "") { header("location:index.php"); die(); } require("connect.inc.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Neuen Benutzer anlegen</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <?php if(!isset($_POST['submit'])) { ?> <form action="<?php $PHP_SELF ?>" method="post"> <table width="400" bgcolor="#000000" border="0" cellpadding="5"  cellspacing="1" align="center"> <tr> <td bgcolor="#e7e7e7" align="center" colspan="2"> <b>Neuen Benutzer anlegen</b> </td> </tr> <tr> <td width="170" bgcolor="#e7e7e7">Benutzername</td> <td width="230" bgcolor="#ffffff"><input type="text" name="username" class="input" <?php if($_POST['username'] != "") { echo ' value="'.$_POST['username'].'"'; } ?> size="20"></td> </tr> <tr> <td width="170" bgcolor="#e7e7e7">Passwort</td> <td width="230" bgcolor="#ffffff"> <input type="password" name="password" size="20" class="input"></td> </tr> <tr> <td width="170" bgcolor="#e7e7e7">Passwort wiederholen</td> <td width="230" bgcolor="#ffffff"> <input type="password" name="password2" size="20" class="input"></td> </tr> <tr> <td bgcolor="#e7e7e7" align="center" colspan="2"> <input type="submit" name="submit" value="Benutzer anlegen" class="button"> </td> </tr> <tr> <td bgcolor="#e7e7e7" align="center" colspan="2"> <a href="sichere_seite.php">Zurück zur Admin-Seite</a> </td> </tr> </table> </form> <?php }elseif(!isset($_POST['username']) || $_POST['username'] == ""){ echo '<p align="center"> Einen Benutzernamen brauchen wir schon ;-) <br /><br /><a href="neu.php">Zurück</a></p>'; }elseif(!isset($_POST['password']) || $_POST['password'] == "") { echo '<p align="center"> Ein Passwort brauchen wir schon ;-)<br /><br /><a href="neu.php">Zurück</a></p>'; }elseif($_POST['password'] != $_POST['password2']) { echo '<form action="neu.php" method="post">'; echo '<p align="center">Die Passwörter stimmen nicht überein!<br /><br />'; echo '<input type="hidden" name="username" value="'.$_POST['username'].'">'; echo '<input type="submit" name="zurueck" value="Zurück"></p>'; echo '</form>'; }else{ $query = @mysql_query("SELECT user FROM users WHERE user = '".$_POST['username']."'"); $result = @mysql_fetch_array($query); if($_POST['username'] == $result['user']) { echo '<p align="center">Sorry, dieser Benutzername ist leider schon vergeben!<br /><br /><a href="neu.php">Zurück</a></p>'; die; }else{ $username $_POST['username']; $pass md5($_POST['password']); $query "INSERT INTO users(user,pass) VALUES('$username', '$pass')"; if(mysql_query($query)){ echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br /><br /><a href="sichere_seite.php">Zur Admin- Seite</a></p>'; }else{ echo '<p align="center"> Beim Anlegen des neuen Benutzers trat leider ein Fehler auf!<br /><br /><a href="neu.php">Zurück</a></p>'; } } } ?> </body> </html>
Demo: http://projektk.de/tut/login/
User: admin
Passwort: admin



Das war es dann auch sollten Fragen auftauchen könnt Ihr mir diese gerne stellen.
Wer es nicht schaffen sollte mit diesem Tutorial das gewünschte Login Script zum laufen zu bekommen kann im Dateianhang das komplette Script Downloaden.


LG
Chris


Download komplett:
k-script.de/board/attachment.php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Heute waren schon 2 Besucher (26 Hits) hier!
Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden