ich habe ein Problem
bei My SQL zeigt bei Geburtsdatum 0000-00-00
Kann mir Helfen
SQL Datenbank
Name Typ Null
Geburtsdatum date Null
PHP
DANKE
bei My SQL zeigt bei Geburtsdatum 0000-00-00
Kann mir Helfen
SQL Datenbank
Name Typ Null
Geburtsdatum date Null
PHP
PHP:
<?php
error_reporting(E_ALL);
$MYSQL_HOST = '*****';
$MYSQL_USER = '********';
$MYSQL_PASS = '********';
$MYSQL_DATA = '*********';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die("Error: ".mysql_error());
mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());
session_start();
if(isset($_POST['submit']) AND $_POST['submit']=='Registrieren'){
// Fehlerarray anlegen
$errors = array();
// Geburtsdatumsstring erstellen
$datum = "{$_POST['Jahr']}-{$_POST['Monat']}-{$_POST['Tag']}";
// hier bastelst du dein SQL-Query, nimmst
// aber $datum statt $_POST['Geburtsdatum']
// Prüfen, ob alle Formularfelder vorhanden sind
if(!isset($_POST['Nickname'],
$_POST['Passwort'],
$_POST['Passwortwiederholung'],
$_POST['Email'],
$_POST['Show_Email'],
$_POST['Geschlecht'],
$_POST['Name'],
$_POST['Vorname'],
$_POST['YIM'],
$_POST['MSN']))
// Ein Element im Fehlerarray hinzufügen
$errors[] = "Bitte benutzen Sie das Formular aus dem Registrierungsbereich";
else{
// Prüfung der einzelnen User 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 4 Zeichen enthält
elseif(strlen(trim($_POST['Nickname'])) < 4)
$errors[]= "Ihr Nickname muss mindestens 4 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 5 Zeichen enthält
elseif (strlen(trim($_POST['Passwort'])) < 5)
$errors[]= "Ihr Passwort muss mindestens 5 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 ein Geschlecht eingegeben wurde
if(trim($_POST['Geschlecht'])=='')
$errors[]= "Bitte geben Sie Ihr Geschlecht ein.";
// Prüft, ob ein Name eingegeben wurde
if(trim($_POST['Name'])=='')
$errors[]= "Bitte geben Sie Ihr Name ein.";
// Prüft, ob der Name mindestens 2 Zeichen enthält
elseif(strlen(trim($_POST['Name'])) < 2)
$errors[]= "Ihr Name muss mindestens 2 Zeichen lang sein.";
// Prüft, ob der Name nur gültige Zeichen enthält
elseif(!preg_match('/^\w+$/', trim($_POST['Name'])))
$errors[]= "Benutzen Sie bitte nur alphanumerische Zeichen (Zahlen, Buchstaben und den Unterstrich).";
// Prüft, ob ein Vorname eingegeben wurde
if(trim($_POST['Vorname'])=='')
$errors[]= "Bitte geben Sie Ihr Vorname ein.";
// Prüft, ob der Vorname mindestens 3 Zeichen enthält
elseif(strlen(trim($_POST['Vorname'])) < 3)
$errors[]= "Ihr Vorname muss mindestens 3 Zeichen lang sein.";
// Prüft, ob der Vorname nur gültige Zeichen enthält
elseif(!preg_match('/^\w+$/', trim($_POST['Vorname'])))
$errors[]= "Benutzen Sie bitte nur alphanumerische Zeichen (Zahlen, Buchstaben und den Unterstrich).";
if ( ! checkdate( $_POST['Monat'], $_POST['Tag'], $_POST['Jahr'] ) )
$errors[]= "Geben sie iher Geburtsdatum ein.";
}
// 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,
Name,
Geschlecht,
Vorname,
Geburtsdatum,
YIM,
MSN
)
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['Name']))."',
'".mysql_real_escape_string(trim($_POST['Geschlecht']))."',
'".mysql_real_escape_string(trim($_POST['Vorname']))."',
'".mysql_real_escape_string(trim($_POST['Geburtsdatum']))."',
'".mysql_real_escape_string(trim($_POST['YIM']))."',
'".mysql_real_escape_string(trim($_POST['MSN']))."'
)
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
echo "Vielen Dank!\n<br>".
"Ihr Accout wurde erfolgreich erstellt.\n<br>".
"Sie können sich nun mit Ihren Daten 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 "<h5>USER Daten</h5>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"min.4\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 "<h5>Personliche Daten</h5>\n";
echo "<span style=\"font-weight:bold;\">\n".
"Geschlecht :\n".
"</span>\n";
echo "<input type=\"radio\" name=\"Geschlecht\" value=\"0\"> Mannlich\n";
echo "<input type=\"radio\" name=\"Geschlecht\" value=\"1\"> Weiblich\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"min.2\nmax.32\nNur Zahlen, Buchstaben und Unterstrich\">\n".
"Name :\n".
"</span>\n";
echo "<input type=\"text\" name=\"Name\" maxlength=\"32\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"min.3\nmax.32\nNur Zahlen Buchstaben und Unterstrich\">\n".
"Vorname :\n".
"</span>\n";
echo "<input type=\"text\" name=\"Vorname\" maxlength=\"32\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\">\n".
"Geburtsdatum :\n".
"</span>\n";
$Monatsnamen = array(1 => 'Januar',
2 => 'Februar',
3 => 'März',
4 => 'April',
5 => 'Mai',
6 => 'Juni',
7 => 'Juli',
8 => 'August',
9 => 'September',
10 => 'Oktober',
11 => 'November',
12 => 'Dezember'
);
echo " <select name=\"Tag\">\n";
echo " <option value=\"0\">Tag</option>\n";
for($i=1;$i<=31;$i++){
echo "<option value=\"".$i."\">".$i.".</option>\n";
}
echo " </select>\n";
echo " <select name=\"Monat\">\n";
echo " <option value=\"0\">Monat</option>\n";
for($i=1;$i<=12;$i++){
echo "<option value=\"".$i."\">".$Monatsnamen[$i]."</option>\n";
}
echo " </select>\n";
echo " <select name=\"Jahr\">\n";
echo " <option value=\"0\">Jahr</option>\n";
for($i=2006;$i>=1900;$i--){
echo "<option value=\"".$i."\">".$i."</option>\n";
}
echo " </select>\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\">\n".
"YIM :\n".
"</span>\n";
echo "<input type=\"text\" name=\"YIM\" maxlength=\"70\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\">\n".
"MSN :\n".
"</span>\n";
echo "<input type=\"text\" name=\"MSN\" maxlength=\"70\">\n";
echo "<br>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Registrieren\">\n";
echo "<input type=\"reset\" value=\"Zurücksetzen\">\n";
echo "</form>\n";
}
?>
