Hallo tutorials User,
leider komme ich derzeit nicht weiter mit meinem Login System .
Ich möchte gerne das das Formular die Möglichkeit bietet sein Geburtstag angeben zu können. Und das dies dann in die SQL Datenbank übernommen wird. Als Anfänger bin ich damit noch überfordert. Vielleicht könnt ihr mir Helfen?
SQL:
und mein Formular:
Bevor man die Registrierung abschickt soll man noch sein Geburtsdatum angeben (Pflichtfeld). Aber bekomme weder die 3 Felder neben dem "Geburtstag:" hin noch die Übernahme in die SQL Datenbank. Ich möchte später das die Datenbank das Alter errechnet und gegeben falls neben dem Geburtstag in einem Profil einträgt.
Gruß
Thomas
leider komme ich derzeit nicht weiter mit meinem Login System .
Ich möchte gerne das das Formular die Möglichkeit bietet sein Geburtstag angeben zu können. Und das dies dann in die SQL Datenbank übernommen wird. Als Anfänger bin ich damit noch überfordert. Vielleicht könnt ihr mir Helfen?
SQL:
Code:
<?php
error_reporting(E_ALL);
include("mysql.php");
echo "<h1>Setup</h1>";
$sql = "DROP TABLE IF EXISTS USER";
@mysql_query($sql);
$sql = 'CREATE TABLE `User` ('
. ' `ID` INT AUTO_INCREMENT NOT NULL, '
. ' `Autologin` VARCHAR(32) NULL, '
. ' `IP` VARCHAR(15) NULL, '
. ' `SessionID` VARCHAR(32) NULL, '
. ' `Nickname` VARCHAR(30) NOT NULL, '
. ' `Passwort` VARCHAR(32) NOT NULL, '
. ' `Email` VARCHAR(70) NOT NULL, '
. ' `Show_Email` BOOL NULL, '
. ' `Homepage` VARCHAR(70) NOT NULL, '
. ' `Registrierungsdatum` DATE NULL, '
. ' `Wohnort` VARCHAR(70) NOT NULL, '
. ' `ICQ` VARCHAR(20) NOT NULL, '
. ' `Bandname` VARCHAR(70) NOT NULL, '
. ' `Geschlecht` VARCHAR(70) NOT NULL, '
. ' `Geburtsdatum` VARCHAR(70) NOT NULL, '
. ' `Avatar` VARCHAR(100) NOT NULL, '
. ' `Letzter_Login` INT NOT NULL DEFAULT \'0\', '
. ' `Letzte_Aktion` INT NOT NULL DEFAULT \'0\','
. ' PRIMARY KEY (`ID`),'
. ' UNIQUE (`Nickname`, `Email`)'
. ' )';
if(mysql_query($sql))
echo "<p>Tabelle 'User' erfolgreich erstellt</p>";
else {
echo "<p>Tabelle 'User' konnte nicht erstellt werden.</p>";
echo "<h2>Query</h2>\n";
echo "<pre>".$sql."</pre>\n";
echo "<h2>Fehlermeldung</h2>";
echo "<p>".mysql_error()."</p>";
die();
}
$sql = "DROP TABLE IF EXISTS User_Rechte";
@mysql_query($sql);
$sql = 'CREATE TABLE `User_Rechte` ('
. ' `ID` INT AUTO_INCREMENT NOT NULL, '
. ' `UserID` INT NOT NULL, '
. ' `Recht` VARCHAR(100) NOT NULL, '
. ' PRIMARY KEY (`ID`)'
. ' )';
if(mysql_query($sql))
echo "<p>Tabelle 'User_Rechte' erfolgreich erstellt</p>";
else {
echo "<p>Tabelle 'User_Rechte' konnte nicht erstellt werden.</p>";
echo "<h2>Query</h2>\n";
echo "<pre>".$sql."</pre>\n";
echo "<h2>Fehlermeldung</h2>";
echo "<p>".mysql_error()."</p>";
die();
}
$sql = "INSERT INTO
User
(Nickname,
Email,
Show_Email,
Passwort,
Registrierungsdatum
)
VALUES
('',
'test@test.de',
'1',
'".md5(*****)."',
CURDATE()
)
";
if(mysql_query($sql))
echo "<p>User ***** mit Passwort ***** erfolgreich erstellt</p>";
else {
echo "<p>User ***** konnte nicht erstellt werden.</p>";
echo "<h2>Query</h2>\n";
echo "<pre>".$sql."</pre>\n";
echo "<h2>Fehlermeldung</h2>";
echo "<p>".mysql_error()."</p>";
die();
}
$sql = "SELECT
LAST_INSERT_ID()
";
$result = mysql_query($sql);
$ID = mysql_result($result,0);
$sql = "INSERT INTO
User_Rechte
(UserID,
Recht
)
VALUES
('".$ID."',
*****
)
";
if(mysql_query($sql))
echo "<p>Recht ***** erfolgreich zu User ***** hinzugefügt</p>";
else {
echo "<p>Recht ***** konnte nicht zu User ***** zugeordnet werden</p>";
echo "<h2>Query</h2>\n";
echo "<pre>".$sql."</pre>\n";
echo "<h2>Fehlermeldung</h2>";
echo "<p>".mysql_error()."</p>";
die();
}
$sql = "INSERT INTO
User_Rechte
(UserID,
Recht
)
VALUES
('".$ID."',
'User *****'
)
";
if(mysql_query($sql))
echo "<p>Recht 'User *****' erfolgreich zu User ***** hinzugefügt</p>";
else {
echo "<p>Recht 'User *****' konnte nicht zu User ***** zugeordnet werden</p>";
echo "<h2>Query</h2>\n";
echo "<pre>".$sql."</pre>\n";
echo "<h2>Fehlermeldung</h2>";
echo "<p>".mysql_error()."</p>";
die();
}
if(!file_exists("avatare")){
if(mkdir("avatare"))
echo "<p>Ordner 'avatare' erfolgreich erstellt</p>";
else {
echo "<p>Ordner 'avatare' konnte nicht erstellt werden</p>";
die();
}
}
echo "<h2>Setup erfolgreich beendet!</h2>";
echo "<p>Zurück zur <a href=\"index.php\">Startseite</a></p>";
?>
und mein Formular:
PHP:
<?php
error_reporting(E_ALL);
include("mysql.php");
session_start();
if(isset($_POST['submit']) AND $_POST['submit']=='Registrieren'){
// Fehlerarray anlegen
$errors = array();
// Prüfen, ob alle Formularfelder vorhanden sind
if(!isset($_POST['Nickname'],
$_POST['Passwort'],
$_POST['Passwortwiederholung'],
$_POST['Email'],
$_POST['Show_Email'],
$_POST['Homepage'],
$_POST['Wohnort'],
$_POST['ICQ'],
$_POST['Bandname'],
$_POST['Geschlecht'],
$_POST['Geburtsdatum']))
// Ein Element im Fehlerarray hinzufügen
$errors = "Bitte benutzen Sie das Formular aus dem Registrierungsbereich";
else{
// Prüfung der einzelnen obligatorischen Felder
// Alle Nicknames und Emailadressen zum Vergleich aus der Datenbank holen
$nicknames = array();
$emails = array();
$sql = "SELECT
Nickname,
Email
FROM
User
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
while($row = mysql_fetch_assoc($result)){
$nicknames[] = $row['Nickname'];
$emails[] = $row['Email'];
}
// Prüft, ob ein Nickname eingegeben wurde
if(trim($_POST['Nickname'])=='')
$errors[]= "Bitte geben Sie einen Nickname ein.";
// Prüft, ob der Nickname mindestens 3 Zeichen enthält
elseif(strlen(trim($_POST['Nickname'])) < 3)
$errors[]= "Ihr Name muss mindestens 3 Zeichen lang sein.";
// Prüft, ob der Nickname nur gültige Zeichen enthält
elseif(!preg_match('/^\w+$/', trim($_POST['Nickname'])))
$errors[]= "Benutzen Sie bitte nur alphanumerische Zeichen (Zahlen, Buchstaben und den Unterstrich).";
// Prüft, ob der Nickname bereits vergeben ist
elseif(in_array(trim($_POST['Nickname']), $nicknames))
$errors[]= "Dieser Nickname ist bereits vergeben.";
// Prüft, ob eine Email-Adresse eingegeben wurde
if(trim($_POST['Email'])=='')
$errors[]= "Bitte geben Sie Ihre Email-Adresse ein.";
// Prüft, ob die Email-Adresse gültig ist
elseif(!preg_match('§^[\w\.-]+@[\w\.-]+\.[\w]{2,4}$§', trim($_POST['Email'])))
$errors[]= "Ihre Email Adresse hat eine falsche Syntax.";
// Prüft, ob die Email-Adresse bereits vergeben ist
elseif(in_array(trim($_POST['Email']), $emails))
$errors[]= "Diese Email-Adresse ist bereits vergeben.";
// Prüft, ob ein Passwort eingegeben wurde
if(trim($_POST['Passwort'])=='')
$errors[]= "Bitte geben Sie Ihr Passwort ein.";
// Prüft, ob das Passwort mindestens 6 Zeichen enthält
elseif (strlen(trim($_POST['Passwort'])) < 6)
$errors[]= "Ihr Passwort muss mindestens 6 Zeichen lang sein.";
// Prüft, ob eine Passwortwiederholung eingegeben wurde
if(trim($_POST['Passwortwiederholung'])=='')
$errors[]= "Bitte wiederholen Sie Ihr Passwort.";
// Prüft, ob das Passwort und die Passwortwiederholung übereinstimmen
elseif (trim($_POST['Passwort']) != trim($_POST['Passwortwiederholung']))
$errors[]= "Ihre Passwortwiederholung war nicht korrekt.";
}
// Prüft, ob Fehler aufgetreten sind
if(count($errors)){
echo "Ihr Account konnte nicht erstellt werden.<br>\n".
"<br>\n";
foreach($errors as $error)
echo $error."<br>\n";
echo "<br>\n".
"Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Registrierungsformular</a>\n";
}
else{
// Daten in die Datenbanktabelle einfügen
$sql = "INSERT INTO
User
(Nickname,
Email,
Passwort,
Show_Email,
Registrierungsdatum,
Wohnort,
Homepage,
ICQ,
Bandname,
Geschlecht,
Geburtsdatum
)
VALUES
('".mysql_real_escape_string(trim($_POST['Nickname']))."',
'".mysql_real_escape_string(trim($_POST['Email']))."',
'".md5(trim($_POST['Passwort']))."',
'".mysql_real_escape_string(trim($_POST['Show_Email']))."',
CURDATE(),
'".mysql_real_escape_string(trim($_POST['Wohnort']))."',
'".mysql_real_escape_string(trim($_POST['Homepage']))."',
'".mysql_real_escape_string(trim($_POST['ICQ']))."',
'".mysql_real_escape_string(trim($_POST['Bandname']))."',
'".mysql_real_escape_string(trim($_POST['Geschlecht']))."',
'".mysql_real_escape_string(trim($_POST['Geburtsdatum']))."'
)
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
echo "Herlich Willkommen auf !\n<br>".
"Ihr Accout wurde erfolgreich erstellt.\n<br>".
"Sie können sich nun mit Ihren Zugangsdaten einloggen.\n<br>".
"<a href=\"login.php\">Zum Login</a>\n";
}
}
else {
echo "<form ".
" name=\"Registrierung\" ".
" action=\"".$_SERVER['PHP_SELF']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
echo "<h3>Deine Zugangsdaten:</h3>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"min.3\nmax.32\nNur Zahlen, Buchstaben und Unterstrich\">\n".
"Nickname :\n".
"</span>\n";
echo "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"min.6\">\n".
"Passwort :\n".
"</span>\n";
echo "<input type=\"password\" name=\"Passwort\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"min.6\">\n".
"Passwort wiederholen:\n".
"</span>\n";
echo "<input type=\"password\" name=\"Passwortwiederholung\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"Ihre.Adresse@Ihr-Anbieter.de\">\n".
"Email-Adresse:\n".
"</span>\n";
echo "<input type=\"text\" name=\"Email\" maxlength=\"70\">\n";
echo "<br>\n";
echo "<span>\n".
"Email-Adresse anzeigen:\n".
"</span>\n";
echo "<input type=\"radio\" name=\"Show_Email\" value=\"1\"> ja\n";
echo "<input type=\"radio\" name=\"Show_Email\" value=\"0\" checked> nein\n";
echo "<h3>Persönliche Angeben:</h3>\n";
echo "<span style=\"font-weight:bold;\">\n".
"Homepage :\n".
"</span>\n";
echo "<input type=\"text\" name=\"Homepage\" maxlength=\"70\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\">\n".
"Wohnort :\n".
"</span>\n";
echo "<input type=\"text\" name=\"Wohnort\" maxlength=\"70\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\">\n".
"ICQ :\n".
"</span>\n";
echo "<input type=\"text\" name=\"ICQ\" maxlength=\"20\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\">\n".
"Bandname :\n".
"</span>\n";
echo "<input type=\"text\" name=\"Bandname\" maxlength=\"70\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\">\n".
"Geschlecht :\n".
"</span>\n";
echo "<input type=\"text\" name=\"Geschlecht\" maxlength=\"70\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\">\n".
"Geburtsdatum :\n".
"</span>\n";
echo "<input type=\"text\" name=\"Geburtsdatum\" maxlength=\"2\">\n";
echo "<input type=\"text\" name=\"Geburtsdatum\" maxlength=\"2\">\n";
echo "<input type=\"text\" name=\"Geburtsdatum\" maxlength=\"4\">\n";
echo "<br>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Registrieren\">\n";
echo "<input type=\"reset\" value=\"Zurücksetzen\">\n";
echo "</form>\n";
}
?>
Bevor man die Registrierung abschickt soll man noch sein Geburtsdatum angeben (Pflichtfeld). Aber bekomme weder die 3 Felder neben dem "Geburtstag:" hin noch die Übernahme in die SQL Datenbank. Ich möchte später das die Datenbank das Alter errechnet und gegeben falls neben dem Geburtstag in einem Profil einträgt.
Gruß
Thomas