php-resource.de

PHP Tutorial: Wie erstelle ich ein LogIn-Skript?

Das folgende Tutorial nutzt eine Datenbank, in der die Benutzerdaten gespeichert werden und eine Session, in der der Benutzer registriert wird.

|14.03.2003 | andy@ | 52522 | KAT : PHP | | Kommentare 7


7

9

6. Die Datei neu.php

Ich hoffe, Ihr habt noch Lust und den Kopf dazu, wieder einmal jede Menge if-Abfragen zu erstellen und somit einige Daten, die über ein Formular gesendet werden, zu überprüfen ;-).

Na denn Let´s GO

Mittels der Datei neu.php wird ein neuer Benutzer im System angemeldet. Das Anlegen erfolgt über ein Formular, in das der Benutzername und zweimal das Passwort eingegeben werden müssen. Nur wenn der Benutzername nicht schon in der Datenbank existiert und wenn die zwei Passwörter übereinstimmen, erfolgt das Anlegen des neuen Benutzers.

Der Quelltext:

01  <?php
02  session_start();
03  if(!session_is_registered('user') || $_SESSION['user'] == "") {
04    header("location:index.php");
05    die;
06  }
07  require("connect.inc.php");
08  ?>
09  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
10  <html>
11  <head>
12    <title>Neuen Benutzer anlegen</title>
13  <link rel="stylesheet" type="text/css" href="style.css">
14  </head>
15  <body>
16  <?php if(!isset($_POST['submit'])) { ?>
17  <form action="<?php $PHP_SELF ?>" method="post">
18  <table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
19    <tr>
20      <td bgcolor="#e7e7e7" align="center" colspan="2">
21      <b>Neuen Benutzer anlegen</b>
22      </td>
23    </tr>
24    <tr>
25      <td width="170" bgcolor="#e7e7e7">Benutzername</td>
26      <td width="230" bgcolor="#ffffff"><input type="text" name="username" class="input"<?php if($_POST['username'] != "") { echo ' value="'.$_POST['username'].'"'; } ?> size="20"></td>
27    </tr>
28    <tr>
29      <td width="170" bgcolor="#e7e7e7">Passwort</td>
30      <td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
31    </tr>
32    <tr>
33      <td width="170" bgcolor="#e7e7e7">Passwort wiederholen</td>
34      <td width="230" bgcolor="#ffffff"><input type="password" name="password2" size="20" class="input"></td>
35    </tr>
36    <tr>
37      <td bgcolor="#e7e7e7" align="center" colspan="2">
38      <input type="submit" name="submit" value="Benutzer anlegen" class="button">
39      </td>
40    </tr>
41    <tr>
42      <td bgcolor="#e7e7e7" align="center" colspan="2">
43      <a href="sichere_seite.php">Zurück zur Admin-Seite</a>
44      </td>
45    </tr>
46  </table>
47  </form>
48  <?php
49  }elseif(!isset($_POST['username']) || $_POST['username'] == ""){
50    echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="neu.php">Zurück</a></p>';
51  }elseif(!isset($_POST['password']) || $_POST['password'] == "") {
52    echo '<p align="center">Ein Passwort brauchen wir schon ;-)<br><br><a href="neu.php">Zurück</a></p>';
53  }elseif($_POST['password'] != $_POST['password2']) {
54    echo '<form action="neu.php" method="post">';
55    echo '<p align="center">Die Passwörter stimmen nicht überein!<br><br>';
56    echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
57    echo '<input type="submit" name="zurueck" value="Zurück"></p>';
58    echo '</form>';
59  }else{
60    $query = @mysql_query("SELECT user FROM users WHERE user = '".$_POST['username']."'");
61    $result = @mysql_fetch_array($query);
62    if($_POST['username'] == $result['user']) {
63      echo '<p align="center">Sorry, dieser Benutzername ist leider schon vergeben!<br><br><a href="neu.php">Zurück</a></p>';
64      die;
65    }else{
66      $username = $_POST['username'];
67      $pass = md5($_POST['password']);
68      if($insert = @mysql_query("INSERT INTO USERS SET user = '$username', pass = '$pass'")) {
69        echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br><br><a href="sichere_seite.php">Zur Admin-Seite</a></p>';
70      }else{
71        echo '<p align="center">Beim Anlegen des neuen Benutzers trat leider ein Fehler auf!<br><br><a href="neu.php">Zurück</a></p>';
72      }
73    }
74  }
75  ?>
76  </body>
77  </html>

Navigation -> Seitenanzahl : (9)

  «  1 2 3 4 5 6 7 8 9  » 
Kommentare zum Tutorial
Tutorial kommentieren
 
02.01.2010 20:03:50 Ein Gutes, Neues Jahr 2010 wünsche ich erst einmal allen :-) @ jimbob-walton: Dann mach was... ...
11.12.2009 16:52:27 @Andreas: In PHP bin ich (noch) nicht so fit, könnte aber meine Unterstützung anbieten was ...
11.12.2009 15:35:52 wir würden uns freuen :) ...
10.12.2009 00:13:50 Hi Ihrs ;) Es freut mich einerseits, dass dieses Tutorial immer noch so beliebt ist und auch imm ...
09.12.2009 23:09:48 Seite 3 ist ein Fehler im Quellcode, deshalb kann ein Einloggen nicht funktionieren (der md5-Hash wi ...

Alle Kommentare anzeigen ...
 
Über den Autor
andy@

andy@

Status
Premium Mitglied

Beruf
Unbekannt

Mitglied seit:
30.04.2009

letzte Aktivität
04.06.2009

 

Tutorial bewerten

Hat Ihnen dieses Tutorial gefallen? Dann bewerten Sie es jetzt! Fünf Sterne bedeutet "Sehr gut", ein Stern "Unzureichend".



 

aktuelle Artikel

Die RIGID-FLEX-Technologie

Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Neu | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Neu | Berni