Gästebuch mit Zeit in Ausgabe

cille

Erfahrenes Mitglied
Hi ho, bei meinem guestbook will ich bei einem eintrag auch die zeit speichern,
aber irgendwie funktioniert dies nicht,
habe 1 hidden Submit Button:
HTML:
<input type="hidden" name="uw" value="<?php echo time(); ?>">

und dies wird so in die SQL Datenbank eingegeben:
PHP:
if (!empty($_POST["nick"]) && !empty($_POST["email"]) && !empty($_POST["eintrag"]) && !$unique) {
    $datum = date("d.m.Y, H:i") . " Uhr";
    $sql = "INSERT INTO gbook VALUES ('', '$_POST[title]', '$_POST[nick]', '$_POST[email]', '     $_POST[icq]', '$_POST[url]', '$_POST[datum]', '$_POST[eintrag]')";
    mysql_query($sql);		
}

Aber der MySQL eintrag funktionirt nicht.

Die Ausgabe ist wie folgt:
PHP:
echo "eingetragen am: <br>" . htmlspecialchars($row['datum']);

was funktioniert damit und was ist falsch,
würde mich insbesondere auf ein paar tips freun.

DANKE SCHONMAL
 
Mal ein Tipp in Form einer Frage:
Warum verschwenden so viele User Traffic durch ein Hidden-Feld welches den Timestamp enthaelt?
Und vor allem: Ist nicht interessant wann denn wirklich der Eintrag gemacht wurde und nicht wann angefangen wurde zu schreiben. Der User kann das Fenster ja auch erstmal 2 Tage offen lassen und dann abschicken.
Dementsprechend mein Hinweis: Lass den Timestamp aus dem Formular und hol ihn Dir erst wenn er gebraucht wird, also wenn er in die Datenbank eingetragen werden soll.

Zu Deinem Problem:
Du willst $_POST[datum] (es sollte uebrigens besser $_POST['datum'] heissen) in die Datenbank schreiben. Das Feld mit Deinem Timestamp heisst aber uw.
Aber wenn Du meinen Tipp von oben befolgst ist das ja eh hinfaellig.
 
Hi, danke für deine Antwort,
wie kann ich ich mir die Zeit holen erst wenn ich die Brauche?
Bin leider noch Anfänger und lerne seit 2months.

Würd mich auf eure Hilfe freun.
 
Das sollte doch eigentlich klar sein.
Du ersetzt einfach Dein $_POST[datum] durch time().
PHP:
$sql = "INSERT INTO `gbook` VALUES ('', '".$_POST['title']."', '".$_POST['nick']."', '".$_POST['email']."', '".$_POST['icq']."', '".$_POST['url']."', '".time()."', '".$_POST['eintrag']."')";
 
Danke für die hilfe, aber ein Problem hab ich wieder die ausgabe im Gbook schaut so aus:
1151475211

Wie krig ich das zum:
DD.MM.YYYY
hh.mm Uhr


wärhe dies korrekt?

PHP:
<?php
$round_numerator = 60 * 15 // 60 sekunden pro minute * 15 minuten bei 900 sekunden
//$round_numerator = 60 * 60 zur stunde
//$round_numerator = 60 * 60 * 24 zum Tag

// 15 minutes berechnen
$rounded_time = ( round ( time() / $round_numerator ) * $round_numerator );

// 12:40
//3:04, 3:00; etc.?
?>
 
Zuletzt bearbeitet:
Den Timestamp kannst Du mittels date() in ein vernuenftiges Datum umwandeln.
Zur Speicherung sind aber eigentlich Timestamps immer von Vorteil da diese sich einfacher bearbeiten lassen als ein fertiges Datum.
 
Hallo!

In der Datenbank steht ja der Timestamp.
Kurze und knappe Antwort wie Du diesen bei der Ausgabe umwandelst --> date().

Gruss Dr Dau
 
Dickes THX an euch,
habe einfach
date(d.m.Y); und date(H:i);

genommen und es klappt, war ja eigentlich ganz simpel :D,
dankeschön für eure hilfe.

mfg, cille
 
Zurück