Sie sind nicht angemeldet.

Franky0x33

Ridiculous ♥

  • »Franky0x33« ist der Autor dieses Themas

Beiträge: 163

Wohnort: Nrw

Beruf: Schüler

  • Nachricht senden

1

28.04.2010, 15:15

PHP Datenbank regestrierung

Hallo Liebes Forum.
Ich habe soweit so gut ein anmelde bereich für meine homepage erstellen.
Ich kann selbst benutzer hinzufügen, will es aber so machen , dass man sich regestrieren muss.
Mein Script womit ich benutzer erstellen kann schaut so aus.

Wie kann man eine regestriertpage erstellen ?
Davon habe ich keine ahnung ^^
Seiten mit beispielen oder beispiele direkt wären super.

MfG <--

Spoiler Spoiler

[php]<?php
// Definition der Benutzer
$benutzer[0]["Nickname"] ="admin";
$benutzer[0]["Kennwort"] = "admin";
$benutzer[0]["Nachname"] = "Mustermann";
$benutzer[0]["Vorname"] = "Max";

$benutzer[1]["Nickname"] = "test";
$benutzer[1]["Kennwort"] = "abc";
$benutzer[1]["Nachname"] = "Kunze";
$benutzer[1]["Vorname"] = "Martin";

// Sie können an dieser Stelle beliebig viele Benutzer anlegen.
// Achten Sie dabei nur auf die Fortführung der Nummer.

// Aufbau der Datenbankverbindung
$connectionid = mysql_connect ("localhost", "BENUTZERNAME", "PASSWORD");
if (!mysql_select_db ("DATENBANK", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}

// Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen.
mysql_query ("DELETE FROM benutzerdaten");

// Daten eintragen
while (list ($key, $value) = each ($benutzer))
{
// SQL-Anweisung erstellen
$sql = "INSERT INTO ".
"benutzerdaten (Nickname, Kennwort, Nachname, Vorname) ".
"VALUES ('".$value["Nickname"]."', '".
md5 ($value["Kennwort"])."', '".
$value["Nachname"]."', '".
$value["Vorname"]."')";
mysql_query ($sql);

if (mysql_affected_rows ($connectionid) > 0)
{
echo "Benutzer erfolgreich angelegt.<br>\n";
}
else
{
echo "Fehler beim Anlegen der Benutzer.<br>\n";
}
}

[/php]

2

28.04.2010, 19:47

Du brauchst folgendes:
- ein Formular für die Eingabe der nötigen Daten (User, Passwd..)
- Felder in der Tabelle für die Daten

Hier mal ein Beispiel, das ich heute im Unterricht geschrieben habe:
(ich lerne es selbst noch, also ist es nicht perfekt)

Formular (der wesentliche Teil):
<form action="index.php?action=insert" method="post">

<input type="text" name="Name" />
<input type="text" name="Vorname" />
<input type="text" name="Straße" />
<input type="text" name="Hausnr" />
<input type="text" name="PLZ" />
<input type="text" name="Stadt" />
<input type="text" name="Tel" />

<input type="submit" value="Eintragen" />

</form>


PHP-Teil:
if ($_GET["action"] == "insert") {
mysql_query("INSERT INTO Tabellenname VALUES ('$name', '$vor', '$str', '$nr', '$plz', '$stadt', '$tel')");
}



Die Felder in der Tabelle hießen wie folgt:
Name, Vorname, Straße, Hausnr, PLZ, Stadt, Tel

Ich denke, damit kannst du was anfangen. Allerdings solltest du dein Passwort verschlüsseln lassen.

Franky0x33

Ridiculous ♥

  • »Franky0x33« ist der Autor dieses Themas

Beiträge: 163

Wohnort: Nrw

Beruf: Schüler

  • Nachricht senden

3

28.04.2010, 19:52

Das mit dem Password verschlüsseln wird über MD5 in einer anderen Datei gemacht ^^
Ich werde mir das mal in ruhe angucken & nochmal posten ob ich es geschaft habe oder nicht ^^ (:
Danke schön

devcon

Cisco-Zottel

Beiträge: 2 886

Beruf: Fachabitur, Netzwerktechniker

  • Nachricht senden

4

28.04.2010, 19:55

Wär mir neu das man mit MD5 irgendwas verschlüsseln kann ...du meinst wohl eher SHA oder den allseits beliebten Blasefisch Oo

5

28.04.2010, 19:59

naja uns wurde es aber auch mit md5 beigebracht, was pw angeht
I've got a heart on for you

devcon

Cisco-Zottel

Beiträge: 2 886

Beruf: Fachabitur, Netzwerktechniker

  • Nachricht senden

6

28.04.2010, 20:23

Öh okay ... 2 werden dann wohl nicht irren ... komische Welt dieses Webgeshizzle. Najo ich hab dann nix gesagt :)

devcon

Cisco-Zottel

Beiträge: 2 886

Beruf: Fachabitur, Netzwerktechniker

  • Nachricht senden

8

28.04.2010, 20:51

Muss nicht ... MD5 benutzt schon beim normalen Checksum-Hashen einen 128 Bit-Key. Keine Ahnung inwiefern sich MD5 noch mit Dingern wie Salts "aufpimpen" lässt.

9

29.04.2010, 20:51

1. Der von Andakawa gepostete Code ist extem unsicher und klappt auch nur bei speziellen PHP INI EInstellungen.
2. Moderne PHP Software verwendet double-salted SHA-1 Hashes. Mit Verschlüsselung hat das nichts zu tun. Für ein eigenes System reicht sicherlich ein normaler sha-1 Hash aus.

3. Das ganz oben gepostete Script kenne ich, ist also nur zusammenkopiert. Aber: Es ist scheisse hoch 10 wenn ich das jetzt mal so sagen darf. Alleine dass jedes mal die Datenbank geleert wird ist völliger Humbug.

Lösung:
Fange erstmal mit den PHP Basis und auch PHP Security an. Sowas wie einen Login macht man nicht mal gerade so nebenbei wenn man nicht will dass jeder Problemlos in das System reinkommt nur weil man noch nie was von SQL-Injection gehört hat und sich seine Script zusammen kopiert ohne sie zu verstehen.

10

29.04.2010, 22:05

Mein Code soll nur zur Veranschaulichung sein :) Ich würde mich auch keinen Login nach diesem Schema bauen :P

11

29.04.2010, 23:06

Einem Anfänger der nach konkretem Code fragt sollte man sowas aber meiner Meinung nach nicht präsentieren :)