kostenloser Webspace werbefrei: lima-city


Problem mit INSERT

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    gnoraz

    gnoraz hat kostenlosen Webspace.

    also ich habe zurMySQL Datenbank connectet und wollte nun daten aus nemm formular in die erstellte Tabelle News eintragen aber da taucht kein neuer Eintrag auf wenn ich es versuche.

    <?php
    echo"   <html>\n";
    echo"       <head>\n";
    echo"    <title>News Abschicken</title>\n";
    echo"   </head>\n";
    echo"       <body>\n";
    
    echo"   <form action=\"news_schreiben.php\" method=\"post\">\n";
    echo"	    Titel:\n";
    echo"	    <input type\"text\" name=\"titel\"></input>\n";
    echo"	<br>\n";
    echo"        <textarea name=\"inhalt\" rows=\"10\" cols=\"50\"></textarea>\n";
    echo"	<br>\n";
    echo"        <input type=\"submit\" name=\"absenden\" value=\"Absenden\"></input>\n";
    echo"        <input type=\"reset\" value=\"Reset\"></input>\n";
    echo"   </form>\n";
    
    echo"       </body>\n";
    echo"    </html>\n";
    
    $sql = "INSERT INTO News
    	(Titel, Inhalt, Datum)
           VALUES
           	('".$_Post['titel']."',
             '".$_Post['inhalt']."'),
             Now())";
    
    mysql_query($sql) OR die(mysql_error());
    
    echo "neue News eingetragen";
    
    ?>


    das m?sste doch laut code normal so gehn oder was hab ich falsch gemacht ?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. n********r


    also ich habe zurMySQL Datenbank connectet und wollte nun daten aus nemm formular in die erstellte Tabelle News eintragen aber da taucht kein neuer Eintrag auf wenn ich es versuche.

    <?php
    echo"   <html>\n";
    echo"       <head>\n";
    echo"    <title>News Abschicken</title>\n";
    echo"   </head>\n";
    echo"       <body>\n";
    
    echo"   <form action=\"news_schreiben.php\" method=\"post\">\n";
    echo"	    Titel:\n";
    echo"	    <input type\"text\" name=\"titel\"></input>\n";
    echo"	<br>\n";
    echo"        <textarea name=\"inhalt\" rows=\"10\" cols=\"50\"></textarea>\n";
    echo"	<br>\n";
    echo"        <input type=\"submit\" name=\"absenden\" value=\"Absenden\"></input>\n";
    echo"        <input type=\"reset\" value=\"Reset\"></input>\n";
    echo"   </form>\n";
    
    echo"       </body>\n";
    echo"    </html>\n";
    
    $sql = "INSERT INTO News
    	(Titel, Inhalt, Datum)
           VALUES
           	('".$_Post['titel']."',
             '".$_Post['inhalt']."'),
             Now())";
    
    mysql_query($sql) OR die(mysql_error());
    
    echo "neue News eingetragen";
    
    ?>


    das m?sste doch laut code normal so gehn oder was hab ich falsch gemacht ?

    Ok wollen wir dir mal helfen:

    echo'
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>News Abschicken</title>
    </head>
    <body>
    
    <form action="news_schreiben.php" method="post">\n
    Titel:
    <input type"=text" name="titel">
    <br>
    <textarea name="inhalt" rows="10" cols="50"></textarea>
    <br>
    <input type="submit" name="absenden" value="Absenden">
    <input type="reset" value="Reset">;
    </form>
    
    </body>
    </html>';


    So jetzt hast du alles in einem Echo, und du brauchst so auch nichts entwerten. So hast du nicht so viel Arbeit.
    Und wenn du dir die Seite anzeigen l?sst, wirst du merken, dass sie auch richtig angeziegt wird.

    Jetzt zum Speichern in der DB:

    $titel = $_POST["titel"];
    $inhalt = $_POSt["inhalt"];
    
    //Hier f?gst zu deine Verbindungsdatei ein!!!
    
    $sql = "INSERT INTO News
        (Titel, Inhalt, Datum)
           VALUES
               ('".$titel."',
    
             '".$inhalt."'),
    
             Now())";
    
    
    
    mysql_query($sql) OR die(mysql_error());
    
    echo "neue News eingetragen";


  4. Autor dieses Themas

    gnoraz

    gnoraz hat kostenlosen Webspace.

    Habe das nun mal so wie du probiert da kommt dann

    Notice: Undefined index: titel in /home/webpages/lima-city/gnoraz/html/news_schreiben.php on line 48

    Notice: Undefined index: inhalt in /home/webpages/lima-city/gnoraz/html/news_schreiben.php on line 49
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Now())' at line 8

    Beitrag ge?ndert am 26.11.2005 10:14 von gnoraz
  5. n********r

    Poste bitte nochmal deinen ganzen Code. Und bitte lass nichts aus.
    Und sschreibe auch dr?ber wie die einzelen Dateien hei?en.
  6. n********r

    Ok habe meinen Fehler gefunden hier jetzt alles richtig:

    echo'
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>News Abschicken</title>
    </head>
    <body>
    <form action="news_schreiben.php" method="post">
    Titel:
    <input type"=text" name="titel">
    <br>
    <textarea name="inhalt" rows="10" cols="50"></textarea>
    <br>
    <input type="submit" name="absenden" value="Absenden">
    <input type="reset" value="Reset">
    </form>
    </body>
    </html>';
    
    <?php
    error_reporting(E_ALL);
    
    $titel = $_POST["titel"];
    $inhalt = $_POST["inhalt"];
    
    //Hier f?gst zu deine Verbindungsdatei ein!!!
    
    $sql = "INSERT INTO News
        (Titel, Inhalt, Datum)
           VALUES
               ('".$titel."','".$inhalt."',
             Now())";
    
    mysql_query($sql) OR die(mysql_error());
    echo "neue News eingetragen";
    ?>
  7. k**********e

    ich sag nur register_globas.

    bevor name und inhalt aufgeruffen werden einfach mal pr?fen ob auch was per post gesendet wurde:

    if (isset($_POST['absenden']) && $_POST['absenden'] == 'Absenden')
    {
       //formular wurde gesendet also ein teitragen.
       // bzw. die inputs ?berpr?fen
       $titel  = trim($_POST['titel']);
       $inhalt = trim($_POST['inhalt']);
    
       //hier uach ma pr?fen ob die 
       //variablen auch net leer sind mit empty()
    
       $sql = "INSERT INTO News
        (Titel, Inhalt, Datum)
           VALUES
              ('".mysql_real_escape_string($titel)."',
             '".mysql_real_escape_string($inhalt)."'),
             Now())";
    
        mysql_query($sql) OR die(mysql_error());
        echo "neue News eingetragen";
    } else {
    echo'
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>News Abschicken</title>
    </head>
    <body>
    <form action="news_schreiben.php" method="post">\n
    Titel:
    <input type"=text" name="titel">
    <br>
    <textarea name="inhalt" rows="10" cols="50"></textarea>
    <br>
    <input type="submit" name="absenden" value="Absenden">
    <input type="reset" value="Reset">;
    </form>
    </body>
    </html>';
    }


    entweder wird jetzt das formular angezeigt, oder es wird in die datenbank eingetragen.
    zum nachlesen:
    http://de3.php.net/manual/de/function.mysql-real-escape-string.php
    http://de3.php.net/manual/de/function.empty.php
    http://de3.php.net/manual/de/function.trim.php
    http://de.php.net/register_globals
  8. Autor dieses Themas

    gnoraz

    gnoraz hat kostenlosen Webspace.

    Habs hinbekommen funktioniert nun danke sehr an alle ;)
  9. n********r

    @kirschbluete

    Da er noch Anf?nger ist wollte ich es nicht zu schwer am Anfang machen!
    Aber trotzdem danke f?r deinen Tipp
  10. 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!