kostenloser Webspace werbefrei: lima-city


$eintrag=INSERT INTO `news`...Problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    freshprince

    freshprince hat kostenlosen Webspace.

    Mein Problem:
    Die Daten werden zwar v?llig korrekt durch post verschickt, aber irgendwie bringe ich es nicht mehr zustande das ganze dann in die Tabelle in einer Datenbank abzulegen. K?nntet ihr mir helfen? Nach der if{}Anweisung zufolge wird alles so ausgef?hrt wie gew?nscht, jedoch nach einer Kontrolle in der Datenbank speichert es nix ab.

    Ich sitze jetzt schon den ganzen Abend dran und jetzt reichts!
    Ich check die Welt nicht mehr!Vieleicht ihr schon noch. Ich bin anscheinend nicht f?hig genug aus einem Formular Daten auszulesen und diese dann in einer Tabelle zu speichern! Es geht einfach ums verrecken nicht! :wow:

    hier mal der Code von newseintrag.php:



    <form action="newseintragen.php" method="post">
    News:<textarea name="news" cols="50" rows="7"></textarea><br>
    Signatur:<input type="text" name="signatur"><br>
    <input type="submit" name="submit" value="News eintragen">
    <input type="reset" name="l?schen" value="News l?schen"><hr>
    </form>

    <?php
    include"connectdb.php";
    $abfrage= "SELECT * FROM `news` ORDER BY `id` DESC";

    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    $Datum= date("d.m.Y-",$row->datum);
    $Datum2= date("G:i:s",$row->datum);
    echo "<table align=\"center\">
    <tr><td>$row->news</td></tr>
    <tr><td>$Datum$Datum2,$row->signatur</td></tr></table>";
    }

    $verbindungbeenden = mysql_close($verbinden);
    ?>



    hier der Code von newseintragen.php:

    <?php
    include "connectdb.php";
    $news =$HTTP_POST_VARS["news"];
    $signatur = $HTTP_POST_VARS["signatur"];
    $timestamp = time("G:i");
    $date = date("G:i:s, d.m.Y",$timestamp);
    $sql ="INSERT INTO `news` ( `id` , `datum` , `news` , `signatur` )VALUES ('', '$timestmp', '$news', '$signatur');";
    if ($sql==true)
    {
    echo "Der News Eintrag wurde erfolgreich vorgenommen";
    print "$news<br>$signatur,$date<hr>";
    }
    else
    {
    echo "Der News-Eintrag konnte nicht vorgenommen werden.<br>Bitte versuchen sie es sp?ter noch einmals, und fals dies ?fters vorkommen sollte, benachrichtigen Sie bitte den Administrator dieser Seite.";
    }
    ?>
    <a href="newseintrag.php"><br><br><br>back</a>



    die Tabelle sieht so aus:

    id,int(6),unsigned,notnull,auto_increment,primarykey,
    datum,int(11),unsigned,notnull,
    news,text,null,
    signatur,varchar(20),notnull


    gut.... das w?rs. hoffentlich findet ihr den Hacken :slant: Danke schonmal im Vorraus,

    Gruss,

    freshpr!nce
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. 0******a

    Folgende Fehler hast du in newseintragen.php:

    Falsch:
    $timestamp = time("G:i");

    Richtig:
    $timestamp = time();


    Falsch:
    $sql ="INSERT INTO `news` ( `id` , `datum` , `news` , `signatur` )VALUES ('', '$timestmp', '$news', '$signatur');";

    Richtig:
    $sql ="INSERT INTO `news` (`datum` , `news` , `signatur` )VALUES ($timestamp, '$news', '$signatur');";
    (3 ?nderungen: kein Eintragen von id mehr, da auto_increment und Schreibfehler bei $timestamp und $timestamp ist kein String, daher Hochkommata entfernen)

    Die Fehler solltest du aber eigentlich sehen, wenn du am Anfang deines Skriptes folgendes einf?gen w?rdest:
    error_reporting(E_ALL);
    Kannst du ja mal ausprobieren, bevor du die Fehler ab?nderst.
  4. Autor dieses Themas

    freshprince

    freshprince hat kostenlosen Webspace.

    ok, das mit dem $timestamp war ein versehen, wie gesagt ich hock schon den ganzen Abend dran und ?ndere fluchtartig den Code. trotzdem thnx.

    Speichern tut er es trotzdem nicht :slant: ich versuchs jetzt mit error_reporting(E_ALL);

    EDIT:
    Habs jetzt gemacht, doch jetzt kommt folgende Fehlermeldung:

    Notice: Undefined index: news in /home/webpages/lima-city/freshprince/html/newseintragen.php on line 4

    Notice: Undefined index: signatur in /home/webpages/lima-city/freshprince/html/newseintragen.php on line 5


    und der Code dazu auf newseintragen.php

    <?php
    error_reporting(E_ALL);
    include "connectdb.php";
    $news=$HTTP_POST_VARS["news"];
    $signatur=$HTTP_POST_VARS["signatur"];
    $timestamp = time("G:i");
    $date = date("G:i:s, d.m.Y",$timestamp);
    $sql ="INSERT INTO `news` (`datum` , `news` , `signatur` )VALUES ($timestamp, '$news', '$signatur');";
    if ($sql==true)
    {
    echo "Der News Eintrag wurde erfolgreich vorgenommen";
    print "$news<br>$signatur,$date<hr>";
    }
    else
    {
    echo "Der News-Eintrag konnte nicht vorgenommen werden.<br>Bitte versuchen sie es sp?ter noch einmals, und fals dies ?fters vorkommen sollte, benachrichtigen Sie bitte den Administrator dieser Seite.";
    }
    ?>
    <a href="newseintrag.php"><br><br><br>back</a>


    Ich sehe da keinen Fehler in der 4 und/oder 5 Linie!?:slant::confused:
  5. 0******a

    Ich schon *g*

    Falsch:
    $news=$HTTP_POST_VARS["news"];
    $signatur=$HTTP_POST_VARS["signatur"];

    Richtig:
    $news=$HTTP_POST_VARS['news'];
    $signatur=$HTTP_POST_VARS['signatur'];

    Und die Zeile mit dem Aufruf der Funktion time() hast du auch noch nicht korrigiert.
  6. Autor dieses Themas

    freshprince

    freshprince hat kostenlosen Webspace.


    Ich schon *g*

    Falsch:
    $news=$HTTP_POST_VARS["news"];
    $signatur=$HTTP_POST_VARS["signatur"];

    Richtig:
    $news=$HTTP_POST_VARS['news'];
    $signatur=$HTTP_POST_VARS['signatur'];

    Und die Zeile mit dem Aufruf der Funktion time() hast du auch noch nicht korrigiert.

    Habs jetzt ge?ndert, und es speichert immer noch nix>:(
    Der Witz ist, dass es mit
    $news=$HTTP_POST_VARS["news"];
    auf anderen Seiten von mir auch geht, nur hier nicht:confused:
    Jetzt wird zwar kein Fehler mehr angezeigt, aber es speichert immer noch nix:confused:
  7. 0******a

    Ist dir schon aufgefallen, dass du mit der nachfolgenden Zeile keine SQL-Abfrage machst, sondern nur die Abfrage in einer Variablen speicherst?
    $sql ="INSERT INTO `news` (`datum` , `news` , `signatur` )VALUES ($timestamp, '$news', '$signatur');";
    Da fehlt noch:
    mysql_query($sql);
    Ausserdem solltest du das Semikolon nach '$signatur') l?schen, weil das "regelwidrig" ist. Und die ganzen `s bei news, datum und signatur kannst du ebenfalls weglassen. Die werden in diesem Fall nicht gebraucht.
  8. 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!