Re^5: Skript für Loginsystem
Hallo,
ich habe das Skript mal umformatiert und dann auf Fehler untersucht. Durch die kompakte Schreibweise haben sich einige Fehler in der Verschachtelung eingeschlichen.
Deswegen erstmal ein Tip: Bitte immer mit Einrückungen arbeiten, damit man den die Teile die zusammgehören immer finden kann. Viele Editoren unterstützen einem da auch mit speziellen Funktionen dazu.
In der Endversion kann man die Formatierungen herausnehmen, damit der Quellcode schneller verarbeitet wird.
(Leider werden die Einrückungen hier herausgenommen)
In der Echo-Funktion sind die einfachen und doppelten Anführungszeichen fröhlich vermischt worden. Deswegen immer erst eine Zeile mit echo schreiben, damit wenn eine Fehlermeldung kommt, die Fehlerzeile auch wirklich die richtige Zeile ist.
Letzter Tipp: Die die()-Funktion beendet die Ausführung des Skripts (Zeile 186). Die Funktion "die" wirklich nur dort einsezten wo sie gebraucht wird.
Falls du die formatierte neu.php haben möchtest, kurze Rückantwort mit deiner Emailadresse.
Viel Spaß beim ausprobieren
Achim 3008
------------------------------------------------------------------
<?php
session_start();
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
$name = $_GET['name'];
$email = $_GET['email'];
$aktivierungscode = $_GET['aktivierungscode'];
$hello = "yes";
if ($name != "" and $mail != "" and $aktivierungscode != "")
{
$aendern = "UPDATE user Set best = '$hello' WHERE name, aktivierungscode, mail LIKE '$name', '$aktivierungscode', '$email'";
$update = mysql_query($aendern);
}
if (!isset($_POST['submit']))
{
?>
<form method="post">
<table style="width: 100%">
<tr>
<td>Name:</td>
<td><input name="name" size="20" type="text"></td>
</tr>
<tr>
<td>Vorname:</td>
<td><input name="vorname" size="20" type="text"></td>
</tr>
<tr>
<td>Wohnort:</td>
<td><input name="wohnort" size="20" type="text"></td>
</tr>
<tr>
<td>PLZ:</td>
<td><input name="PLZ" size="20" type="text"></td>
</tr>
<tr>
<td>Straße und Hausnummer:</td>
<td><input name="strundhnr" size="20" type="text"></td>
</tr>
<tr>
<td>Land:</td>
<td><input name="land" size="20" type="text"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Benutzername:</td>
<td><input name="username" size="20" type="text"></td>
</tr>
<tr>
<td>E-Mail Adresse:</td>
<td><input name="email" size="20" type="text"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input name="password" type="password"></td>
</tr>
<tr>
<td>Passwort wiederholen:</td>
<td><input name="password2" type="password"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Bestätigen der Nutzungsbedingungen:</td>
<td><input name="nutzungsbedingungen" type="checkbox"></td>
</tr>
<tr>
<td><input name="submit" type="submit" value="Anmelden"></td>
<td> </td>
</tr>
</table>
</form>
<?php
}
elseif (!isset($_POST['username']) || $_POST['username'] == "")
{
echo '<p align="center">
Einen Benutzernamen brauchen wir schon ;-)
<br /><br />Zurück</p>';
}
elseif (!isset($_POST['password']) || $_POST['password'] == "")
{
echo '<p align="center">
Ein Passwort brauchen wir schon ;-)<br /><br />Zurück</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>';
}
elseif(!isset($_POST['email']) || $_POST['email'] == "")
{
echo '<p align="center">
Bitte geben Sie Ihre E-Mail Adresse an!
<br /><br />Zurück</p>';
}
elseif(!isset($_POST['name']) || $_POST['name'] == "")
{
echo '<p align="center">
Bitte geben Sie Ihren Namen an!
<br /><br />Zurück</p>';
}
elseif(!isset($_POST['vorname']) || $_POST['vorname'] == "")
{
echo '<p align="center">
Bitte geben Sie Ihren Vornamen an!
<br /><br />Zurück</p>';
}
elseif(!isset($_POST['wohnort']) || $_POST['wohnort'] == "")
{
echo '<p align="center">
Bitte geben Sie Ihren Wohnort an!
<br /><br />Zurück</p>';
}
elseif(!isset($_POST['PLZ']) || $_POST['PLZ'] == "")
{
echo '<p align="center">
Bitte geben Sie Ihre PLZ an!
<br /><br />Zurück</p>';
}
elseif(!isset($_POST['strundhnr']) || $_POST['strundhnr'] == "")
{
echo '<p align="center">
Bitte geben Sie Ihre Straße und Ihre Hausnummer an!
<br /><br />Zurück</p>';
}
elseif(!isset($_POST['land']) || $_POST['land'] == "")
{
echo '<p align="center">
Bitte geben Sie Ihr Land an!
<br /><br />Zurück</p>';
}
elseif(!isset($_POST['nutzungsbedingungen']) || $_POST['nutzungsbedingungen'] == "")
{
echo '<p align="center">';
echo 'Sie müssen den Nutzungsbestimmungen zustimmen, damit Sie sich erfolgreich anmelden können!';
echo '<br /><br />Zurück</p>';
}
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 />Zurück</p>';
Echo 'Diese Zeile mit "die" entfernen';
}
else
{
$username = $_POST['username'];
$pass = md5($_POST['password']);
$email = $_POST['email'];
$name = $_POST['name'];
$vorname = $_POST['vorname'];
$wohnort = $_POST['wohnort'];
$plz = $_POST['PLZ'];
$strundhausnr = $_POST['strundhnr'];
$Land = $_POST['land'];
srand(microtime()*1000000);
$aktivierungscode = rand(1,1000);
$query = "INSERT INTO users(user,pass,email,name,vorname,wohnort,plz,strundhnr,Land, aktivierungscode) VALUES('$username', '$pass', '$email' '$name', '$vorname', '$wohnort', '$PLZ', '$strundhnr', '$land', '$aktivierungscode',)";
if(mysql_query($query))
{
echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt und ihnen wurde eine E-Mail mit einem Bestätigungslink gesendet!<br /><br />Zur Admin-Seite</p>';
echo 'Sehr geehrter Besucher der Seite http://www.pcundsoftware.de/,<br&g...> Sie erhalten diese Nachricht, da Sie auf der oben genannten Seite registriert wurden. Sollten Sie dies nicht getan haben, so löschen Sie diese Mail einfach.<br>';
echo 'Um Ihre Registrierung zu bestätigen, klicken Sie bitte auf den folgenden Link: <br><br>';
echo 'http://www.pcundsoftware.de/Login/neu... <br><br>';
echo 'Besuchen Sie unsere Seite bald wieder. <br><br>';
echo 'Mit freundlichen Grüßen,<br><br>';
echo 'Das Team von PC und Software.de';
$absender = "PcundSoftware.de";
$amail = "[E-Mail-Adresse entfernt]";
$extra = "From: $absender <$amail>\n";
$extra .= "Content-Type: text/html\nContent-Transfer-Encoding: 8bit\n";
mail($email, "Registrierung auf pcundsoftware.de - Bestätigung", $email, $extra);
}
else
{
echo '<p align="center">';
echo 'Beim Anlegen des neuen Benutzers trat leider ein Fehler auf!<br /><br /><a';
echo 'href="neu.php">Zurück</p>';
}
}
}
?>
</body>
</html>