kostenloser Webspace werbefrei: lima-city


Probleme mit News Script

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    robertju

    robertju hat kostenlosen Webspace.

    Der Code :

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    &Uuml;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.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    robertju

    robertju hat kostenlosen Webspace.

    Danke. Die idee mit dem $time hat mir geholfen.

    allerdings muss es

    $time = date("YmdHis");

    hei?en weil time() die anzahl der Sekunden seit der Unix periode liefert.

    Hat nun jemd. eine Idee wie ich es anstelle, dass wenn nichts eingetragen ist, auch nichts in die Datenbank eingetragen wird?

  5. Hat nun jemd. eine Idee wie ich es anstelle, dass wenn nichts eingetragen ist, auch nichts in die Datenbank eingetragen wird?


    wie meinst du das genau?

    mit ner if aneisung:
    if (zeit == "") { leeren SQL-Befehl (also leerlassen) }
    (wenn ichs richtig verstanden habe ;)

    Dieto
  6. 0******a

    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.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!