Hallo, ich bin neu hier und kann bisher sehr wenig in PHP... Ich möchte eine Seite machen, auf der man sich registrieren kann und natürlich einloggen... Als Datenbank möchte ich MySql verwenden. Ich habe beriets aus einem Tutorial ein Loginsystem zusammengebastelt, nur kann man da Testbenutzer nur mit einem Skript anlegen... Ich möchte, dass man sich in einem Formular mit den Feldern: Name, Vorname, Nickname, Emailadresse registrieren kann und das das alles in die Datenbank geschrieben wird. Hier meine bisherigen Codes:
Login.php
Intern.php
Formular.php
Checkuser.php
Logout.php
Register.php
Ich hoffe ihr könnt mir weiterhelfen... Danke schonmal
Morpheus
Login.php
PHP-Code:
<?php
// Session starten
session_start ();
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "Benutzername", "Passwort");
if (!mysql_select_db ("Datenbank", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '".$_REQUEST["name"]."') AND ".
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Nickname"];
$_SESSION["user_nachname"] = $data["Nachname"];
$_SESSION["user_vorname"] = $data["Vorname"];
header ("Location: intern.php");
}
else
{
header ("Location: formular.php?fehler=1");
}
?>
Intern.php
PHP-Code:
<?php
include ("checkuser.php");
?>
<html>
<head>
<title>Interne Seite</title>
</head>
<body>
BenutzerId: <?php echo $_SESSION["user_id"]; ?><br>
Nickname: <?php echo $_SESSION["user_nickname"]; ?><br>
Nachname: <?php echo $_SESSION["user_nachname"]; ?><br>
Vorname: <?php echo $_SESSION["user_vorname"]; ?>
<hr>
<a href="logout.php">Ausloggen</a>
</body>
</html>
Formular.php
PHP-Code:
<?php session_start (); ?>
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren ungültig.";
}
?>
<form action="login.php" method="post">
Name: <input type="text" name="name" size="20"><br>
Kennwort: <input type="password" name="pwd" size="20"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
Checkuser.php
PHP-Code:
<?php
session_start ();
if (!isset ($_SESSION["user_id"]))
{
header ("Location: formular.php");
}
?>
Logout.php
PHP-Code:
<?php
// Wird ausgeführt um mit der Ausgabe des Headers zu warten.
ob_start ();
session_start ();
session_unset ();
session_destroy ();
header ("Location: formular.php");
ob_end_flush ();
?>
Register.php
PHP-Code:
<?php
// Definition der Benutzer
$benutzer[0]["Nickname"] ="Morpheus";
$benutzer[0]["Kennwort"] = "passwort";
$benutzer[0]["Nachname"] = "Hocquel";
$benutzer[0]["Vorname"] = "Martin";
//Benutzerid beachten
// Verbinden
$connectionid = mysql_connect ("localhost", "Benutzer", "Passwort");
if (!mysql_select_db ("Datenbankname", $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";
}
}
?>
Ich hoffe ihr könnt mir weiterhelfen... Danke schonmal
Morpheus
Kommentar