DATETIME - Eingabeformular

Webgau

Mitglied
Servus,
ich habe in meiner MySql DB die Spalte DATETIME angelegt und möchte jetzt via Eingabeformular das Datum eintragen. Wenn ich dies Probiere komme ich allerdings zu keinem Ergebnis…

PHP:
<?php
...		
// DB Anweisung
$sqlab = "INSERT INTO `einsaetze` (`feuerwehr`, `email`, `name`, `datum`, `art`, `title`, `bericht`, `ort`, `bilder`, `uri`) VALUES"; 
$sqlab .= "('" . $_POST["feu"] . "', '" . $_POST["mai"] . "', '" . $_POST["nam"] . "', '" . $_POST["eidat"] . "', '" . $_POST["art"] . "', '" . $_POST["tit"] . "', '" . $_POST["ber"] . "', '" . $_POST["ort"] . "', '" . $_POST["bil"] . "', '" . $_POST["uri"] . "')";
...

...
<tr>
<td><b>Datum:</b></td><td><input nam="eidat"/></td>
</tr>
...

gebe ich hier ein datum in Folgendem Format an
HTML:
2008-02-11 15:45:01
kommt in der DB nichts an also es erscheint 0000-00-00 00:00:00.

Kann mir jemand helfen wo mein Fehler liegt. Die Toplösung für mich wäre natürlich sowas wie nen Datetime Picker oder nen Tipp wo bzw. wie ich das datum bei eingabe umformatiere und richtig in die db eintrage.

Grüße Mirko
 
In dem Code von dir sind massig Schreibfehler drin.

hier
PHP:
$sqlab = "INSERT INTO `einsaetze` (`feuerwehr`, `email`, `name`, `datum`,
hier
PHP:
$sqlab .= "('" . $_POST["feu"] . "', '" . $_POST["mai"] . "', '" . $_POST["nam"] . "', '" . $_POST["eidat"]

und hier
HTML:
ut nam="eidat"/></

Wenn du immer das aktuelle Datum einfügen magst kann du das auch mit now():
(Wenn die Spalte datetime oder timestamp ist)

PHP:
VALUES (' .$_POST['irgendwas']. ',NOW(),' .$_POST['nochwaswas']. ' )
 
erstmal danke für den hinweis, aber wo sollen den massig fehler sein? Also wenn du das <b></b> meinst, da hab ich versucht das hier fett darzustellen.... (aso das mit name hab ich auch endeckt danke) Das man mit dem Befehl Now() das Aktuelle Datum bereitstellt ist mir klar, meine Frage war jedoch wie ich über das Formular einen Datumseintrag richtig mach bzw. wie ich das umwandeln kann sowie oben beschrieben....
 
Zuletzt bearbeitet:
Wenn du das "2008-02-11 15:45:01" im Formular übergibst klappt das auch.
Nur nicht wenn du Fehler in deinem Script hast.
Und 3 Fehler in einem 5 Zeilen Code sind für mich massig Fehler.
 
gebe ich hier ein datum in Folgendem Format an 2008-02-11 15:45:01 kommt in der DB nichts an also es erscheint 0000-00-00 00:00:00.
Lass dir die entsprechende POST-Variable mal testhalber ausgeben, um sicherzugehen, dass sie wirklich das beinhaltet, was du annimmst.

Denn wenn es wirklich so bei dir steht:
Code:
<input nam="eidat"/>
kommt da garantiert nichts an.
So sollte es aussehen:
Code:
<input name="eidat" />
 
Diese Funktion kannst Du nehmen, um das Datum "normal" schrieben zu können.

PHP:
function  timestamp2date($timestamp, $mode){ 
	// mode = 1: nur Zeit (18:20)
	// mode = 2: nur Datum (2.6.05)
	// mode = 3: komplett (18:20 2.6.05)
if ($mode == 1) {
return( substr($timestamp,  11,  2)  .  ':'  .  substr($timestamp,  14,  2) );
}
if ($mode == 2) {
return( substr($timestamp,  8,  2)  .  '.'  .  substr($timestamp,  5,  2) . '.' . substr($timestamp,  2, 2) );
}
if ($mode == 3) {
return( substr($timestamp,  11,  2)  .  ':'  .  substr($timestamp,  14,  2) . '  ' . substr($timestamp,  8,  2)  .  '.'  .  substr($timestamp,  5,  2) . '.' . substr($timestamp,  2, 2) );
}
if ($mode == 4) {
return( substr($timestamp,  8,  2)  .  '.'  .  substr($timestamp,  5,  2) . '.');
}

}
 
Zurück