kostenloser Webspace werbefrei: lima-city


Problem bei MySQL-Abfrage und Tabellen-Eintrag!!!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Habe folgendes Problem:

    Ich habe eine MySQL-Abfrage (Link-Liste) geschrieben...
    geht auch alles super...
    Jetzt habe ich unten im Quelltext ein Formular eingebaut, ?ber welches ich eintr?ge machen will... Aber sobald ich auch Aktualisieren gehe, macht es automatisch einen leeren Eintrag...
    Das tut es auch, wenn ich die Seite ?ffne!

    Hier der Quelltext:

    <? include(\"config.inc.php\"); ?>
    <html>
    <head>
    <title>Zum Testen!</title>
    <link href=\"css/style.css\" rel=\"stylesheet\" type=\"text/css\">
    </head>

    <body>

    <div class=\"head\">Meine Linkliste</div>


    <table class=\"main\" cellpadding=\"0\" cellspacing=\"0\">
    <tr class=\"head\">
    <td class=\"name1\">Name</td><td class=\"url1\">Adresse</td><td class=\"beschreibung1\">Beschreibung</td>
    </tr></table>

    <?
    $abfrage=\"SELECT * FROM links\";
    $ergebnis=mysql_query($abfrage);

    while($row = mysql_fetch_object($ergebnis))
    {
    ?>
    <table class=\"main\" cellpadding=\"0\" cellspacing=\"0\">
    <tr>
    <td class=\"name\"><? echo $row->urlname ?></td><td class=\"url\"><? echo \"<a href=\\\"$row->url\\\" target=\\\"_blank\\\">$row->url</a>\"; ?></td><td class=\"beschreibung\"><? echo $row->beschreibung ?></td>
    </tr>
    </table>
    <? } ?>





    <div class=\"head\">Neuen Link hinzuf?gen:</div>



    <table class=\"main\" cellpadding=\"0\" cellspacing=\"0\">
    <tr class=\"head\">
    <td>Name</td><td>Adresse</td><td>Beschreibung</td></tr><tr>
    <form action=\"data.php\" method=\"post\">
    <td>
    <input type=\"text\" name=\"urlname\">
    </td><td><input type=\"text\" name=\"url\"></td><td><input type=\"text\" name=\"beschreibung\"></td></tr>
    <tr><td><input type=\"submit\" value=\"Eintragen\" name=\"eintragen\"></td></tr>
    </form>
    </tr></table>

    <?
    $urlname = $HTTP_POST_VARS[\"urlname\"];
    $url = $HTTP_POST_VARS[\"url\"];
    $beschreibung = $HTTP_POST_VARS[\"beschreibung\"];

    $eintrag = \"INSERT INTO links (urlname, url, beschreibung) VALUES (\'$urlname\',\'$url\',\'$beschreibung\')\";
    mysql_query($eintrag);

    mysql_close($verbindung);
    ?>

    </body>
    </html>

    W?re nett von euch, wenn Ihr mir helfen k?nntet... Ich bin halt noch ein php noob..
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. t*****b

    Guten Tag.

    Schreibe mal nur den betreffenden Code, nicht den ganzen (das erm?glicht eine schnellere Suche des Fehlers.
    Mach mal nciht vot jedes " ein \. Das braucht man in HTML nicht, sondern nur wenn man zB mit php ein " au?geben will (ansonsten w?rde man den String schlie?en, Bsp.: $img = "<img src\"meinild.jpg\">";).
  4. t*****b

    Guten Tag.

    Schreibe mal nur den betreffenden Code, nicht den ganzen (das erm?glicht eine schnellere Suche des Fehlers.
    Mach mal nciht vot jedes " ein \. Das braucht man in HTML nicht, sondern nur wenn man zB mit php ein " au?geben will (ansonsten w?rde man den String schlie?en, Bsp.: $img = "<img src\"meinild.jpg\">";).

    So machst du einen Eintrag in deine DB:
    <?
    $urlname = $HTTP_POST_VARS["urlname"];
    $url = $HTTP_POST_VARS["url"];
    $beschreibung = $HTTP_POST_VARS["beschreibung"];
    $eintrag = "INSERT INTO links (urlname, url, beschreibung) VALUES (\'$urlname\',\'$url\',\'$beschreibung\')";
    mysql_query($eintrag);
    mysql_close($verbindung);
    ?>
    Dieser Code wir immer bei der Seite aufgerufen, auch wenn du keine Variablen ?bergibst (zB wenn du das Forum nicht oder leer absendest) = leerer Eintrag in DB.

    And?rst du nun dein Formular so:
    <form action="data.php?go=1" method="post">

    und den php-Code so:
    <?
    if($go == "1")
    {
    $urlname = $HTTP_POST_VARS["urlname"];
    $url = $HTTP_POST_VARS["url"];
    $beschreibung = $HTTP_POST_VARS["beschreibung"];
    $eintrag = "INSERT INTO links (urlname, url, beschreibung) VALUES (\'$urlname\',\'$url\',\'$beschreibung\')";
    mysql_query($eintrag);
    mysql_close($verbindung);
    }
    ?>
    machst du einen Eintrag nur, wenn du das Formular absendest. Zus?tzlich k?nntest du noch die Eingaben ?berpr?fen.
  5. Autor dieses Themas

    schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Danke, habs hinbekommen...

    Was mich jetzt noch interessieren w?rde, ist, was an folgendem Code falsch ist?

    <?
    if ($beenden)(echo("Daten eingef?gt! <a href=\"data.php\">Weiter</a>"));
    ?>
  6. Du musst f?r die if-Abfrage {} benutzen und das ; muss nach das echo und nicht ans Ende:
    if ($beenden)
    {
    echo "Daten eingef?gt! <a href=\"data.php\">Weiter</a>";
    }
  7. Autor dieses Themas

    schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Danke...

    EIne Frage brennt mir noch auf der Zunge und ich will deswegen keinen neuen Thread anfangen:

    Wie kann man, nach dem ausf?hren eines Scripts, die POST-Daten l?schen?
    Wenn diese nicht gel?scht sind, und man klickt auf aktualisieren, dann schreibt es diese ein weiters mal in die Datenbank... Deswegen sollen sie nach dem Ausf?hren des Scripts geleert werden...
  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!