Probleme mit News Script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anstelle
anzahl
befehl
date
datenbankzugriff
ebenfall
format
formular
grad
insert
jahr
meinst
minute
null
periode
sekunde
stunden
tabelle
update
zeile
-
Der Code :
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Überschrift: <input type="text" name="header"><br>
Text:<br>
<textarea cols="60" rows="4" name="text"></textarea><br>
<input type="submit" value="News eintragen" name="submit">
</form>
<?php
if (!empty($_POST["submit"])) {
mysql_connect("mysql.lima-city.de", "..." , "...") or die("Verbindung zu MySql gescheitert");
mysql_select_db("...") or die("Datenbankzugriff gescheiter");
$sql="INSERT INTO news " .
"(id, time, header, text) " .
"VALUES ('','', '$_POST[header]', '$_POST[text]')";
if (mysql_query($sql)) {
echo "<p>Dateneingabe erfolgreich</p>";
}
else {
echo "<p>Dateneingabe nicht erfolgreich</p>";
}
mysql_close();
}
?>
Nunja . Ich bekomme es nicht hin, dass die Zeit mit eingetragen wird. ( es sehen immer nur Nullen bei Time.
Die DB sieht so aus
id ( integer ) time ( timestamp) header ( VARCHAR(100) ) text ( text )
Dann 2 weitere Fragen:
Wie kann ich mir den timestamp Wert aufsplitten ( ich will sp?ter ausgeben "... gepostet am X um Y ")
Wie baue ich eine Abfrage ein, dass kein Wert eingetragen wird, wenn beide Felder leer sind. Auch bei Reload wird immer was eingetragen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
nunja... ganz einfach...
du hast deinen code
[...]if (!empty($_POST["submit"])) { mysql_connect("mysql.lima-city.de", "..." , "...") or die("Verbindung zu MySql gescheitert"); mysql_select_db("...") or die("Datenbankzugriff gescheiter"); $sql="INSERT INTO news " . "(id, time, header, text) " . "VALUES ('','', '$_POST[header]', '$_POST[text]')"; if (mysql_query($sql)) { echo "<p>Dateneingabe erfolgreich</p>"; } else { echo "<p>Dateneingabe nicht erfolgreich</p>"; } mysql_close();[...] } ?>
du musst ja auch irgenwo sagen, was in die time tabellenzeile eingetragen werden soll... du sagst einfach er soll '' eintragen, is klar das er da nur nullen macht...
mach mal im script drin folgendes aber erst nachdem das formular abgeschickt wurde
$time = time();
und dann bei dem eintragen in die tabelle
[...] $sql="INSERT INTO news " . "(id, time, header, text) " . "VALUES ('','$time', '$_POST[header]', '$_POST[text]')"; [...]
aufsplitten kannst du das dann alles wie folgt
strftime("%H:%M:%S",$row->time);
folgende optionen gibs da noch, die mir grad einfallen
%H - > Stunde
%M - > minuten
%S - > Sekunden
%d -> Tag
%m - > Monat
%Y -> Jahr im Format 2004
%y - >jahr im format 04
.
.
.
hoffe konnte helfen -
Zum Eintragen der aktuellen Zeit in einem timestamp Feld einfach NULL ?bergeben. Um andere Zeiten einzugeben, empfiehlt sich das im Format YYYYMMTThhmmss anzugeben, weil alles andere Konfigurationsabh?ngig konvertiert wird. Achtung: wenn in einer Zeile ein Timestamp Wert gesetzt wird, werden alle anderen anderen Timestamps in dieser Zeile ebenfalls aktualisiert. Also beim update alle Timestamps auf definierte Werte setzen. Diejenigen, die nicht definiert werden, werden automatisch auf die aktuelle Zeit gesetzt. 00000000000000 sollte man als Timestamp eintragen, wenn der Wert logisch als noch nicht definiert gelten soll.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage