strolch_007
Mitglied
Hallo,
ich habe 3 drop-dows zur Eingabe des Geburtstages (g_tag, g_monat und g_jahr):. Nach Auswahl eine Geburtstages gehts dann vom XHTML- Code (da stehen die 3 drop-downs) in die PHP-Prüfung auf vorhanden sein.
Dann wierden die drei drop-downs in das "date format wie folgt umgewandelt
Anschließend erfolgt die Formularprüfung auf evtl. Fehler. Ergibt die Prüfung keine Fehler soll alles in die Datenbank gespeichert werden.
Mein kleines Testscript
zeigt mir auch die richtigen Eingaben an. Nur wenn ich das in die Datenbank speichern möchte kommt der im Titel genannte Fehlerhinweis.
Als Ausgabe seh ich beim Fehlerhinweis das--->>> '1', als Datum.
Wo liegt mein Fehler. - Undi ist es überhaupt sinnvoll das alles in ein date Format umzuwandeln. Mit den 3 dropw-downs in eine Datenbank speichern klappt nämlich wunderbar. Hab halt drei Datenfelder für ein Geburtsdatum. Erscheint mir etwas umständlich. Ich denke das Mysql date Format bringt mir beim auslesen mehr Vorteile als mein "dreifachgewuschtel".
Das Datenbankfeld sieht so aus:
Feld: birthday
Type: Date
Standard: NULL
Null: mit Häckchen bestätigt (liegts vielleicht daran?)
Geburtsdatum muß eigentlich zwingend angegeben werden, aber jetzt steht ja noch nichts drin.
Gruss
strolch_007
ich habe 3 drop-dows zur Eingabe des Geburtstages (g_tag, g_monat und g_jahr):. Nach Auswahl eine Geburtstages gehts dann vom XHTML- Code (da stehen die 3 drop-downs) in die PHP-Prüfung auf vorhanden sein.
PHP:
isset($_POST['g_tag']) ? $_POST['g_tag']:"";
isset($_POST['g_monat']) ? $_POST['g_monat']:"";
isset($_POST['g_jahr']) ? $_POST['g_jahr']:"";
Dann wierden die drei drop-downs in das "date format wie folgt umgewandelt
PHP:
// Umwandlung von Geburtstag,- Monat- und Jahr in date format für die Datenbank
$g_tag = isset($_POST['g_tag']) ? intval($_POST['g_tag']):0;
$g_monat = isset($_POST['g_monat']) ? intval($_POST['g_monat']):0;
$g_jahr = isset($_POST['g_jahr']) ? intval($_POST['g_jahr']):0;
$birthday = ""; //leere Variable Geburtstag definieren
if ($g_tag > 0 && $g_monat > 0 && $g_jahr > 1900)
{
$birthday = $g_tag.'-'.$g_monat.'-'.$g_jahr;
}
Anschließend erfolgt die Formularprüfung auf evtl. Fehler. Ergibt die Prüfung keine Fehler soll alles in die Datenbank gespeichert werden.
PHP:
$sql = "INSERT INTO
datensicherung
(.....
birthday)
VALUES (
........
'".mysql_real_escape_string(trim($birthday['birthday']))."',
usw.
)
";
// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
// oder Fehlerhinweis
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
echo " blabla";
Mein kleines Testscript
PHP:
echo $birthday;
echo " <br />";
// Uhrzeit setzen - Uhrzeit der Registrierung
$confirm_code = time();
$timestamp = time();
$reg_time = date("H:i",$timestamp);
echo $reg_time," Uhr";
zeigt mir auch die richtigen Eingaben an. Nur wenn ich das in die Datenbank speichern möchte kommt der im Titel genannte Fehlerhinweis.
Als Ausgabe seh ich beim Fehlerhinweis das--->>> '1', als Datum.
Wo liegt mein Fehler. - Undi ist es überhaupt sinnvoll das alles in ein date Format umzuwandeln. Mit den 3 dropw-downs in eine Datenbank speichern klappt nämlich wunderbar. Hab halt drei Datenfelder für ein Geburtsdatum. Erscheint mir etwas umständlich. Ich denke das Mysql date Format bringt mir beim auslesen mehr Vorteile als mein "dreifachgewuschtel".
Das Datenbankfeld sieht so aus:
Feld: birthday
Type: Date
Standard: NULL
Null: mit Häckchen bestätigt (liegts vielleicht daran?)
Geburtsdatum muß eigentlich zwingend angegeben werden, aber jetzt steht ja noch nichts drin.
Gruss
strolch_007