Daten werden vom Formular nicht in Datenbank übernommen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Daten werden vom Formular nicht in Datenbank übernommen

    Hallo zusammen,

    bin ein Neuling auf dem Gebiet PHP&MySQL.

    Habe mir ein Formular gebastelt welches vis $_POST Daten in die SQL-Datenbank eintragen soll.

    Dies funktioniert aber nicht, bekomme auch keine Fehlermeldung. Wäre coll wenn Ihr mal das Script nachschauen könntet.

    Vielen Dank !!!

    HTML-Script:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

    <head>
    <title>Titel</title>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    <meta name="description" content="" />
    <meta name="author" content="" />
    <meta name="keywords" content="" />
    <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)" />

    <style type="text/css">

    #head {
    background-color:#FFFF99;
    width: 300px;
    height:300px;
    left:500px;
    top:200px;
    border:1px solid black;
    position:absolute;

    }

    #text {
    width:100px;
    height:50px;
    top:70px;
    left:50px;
    font-size:12px;
    position:absolute;
    }

    #input {
    width:100px;
    height:50px;
    top:70px;
    left:110px;
    font-size:10px;
    position:absolute;
    }

    input {
    font-size:10px;
    font-family:Verdana;
    color:black;
    }

    </style>

    </head>

    <body bgcolor="#FFFFCC">

    <div id="head">

    <br><center>Portal zum eintragen neuer User</center>

    <div id="text">
    <form action="eintrag_user.php" method="POST">
    Vorname: <input type="text" name="vorname"><br>
    Nachname: <input type="text" name="nachname"><br>
    Alter: <input type="int" name="alter"><br>
    Username: <input type="text" name="username"><br>
    Passwort: <input type="text" name="password"><br><br>
    <input type="submit" value="abschicken">
    </form>
    </div>

    </div>

    </body>
    </html>

    PHP-Script:

    PHP-Code:
    <?php

    if (!isset($_POST['abschicken'])) {
        include(
    'eintrag.html');
        exit; }

    $server    "localhost";
    $user    "root";
    $pass    "";
    $database "user";
    $table    "new_user";

    $verbindung mysql_connect($server$user$pass)
        or die (
    "verbindung zu sql geht nicht");

    mysql_select_db($database$verbindung) or die ("Die Datenbank existiert nicht!");

    $sql "INSERT INTO $table (vorname, nachname, alter, username, password) 
    VALUES ('"
    $_POST['vorname']."', '"$_POST['nachname']."', '"
    $_POST['alter']."', '"$_POST['username']."', '"$_POST['password']."')";
    $ausgabe "gespeichert!";

    mysql_query($sql) or die (mysql_error());

    mysql_close($verbindung);
    echo 
    $ausgabe;

    ?>
    Zuletzt geändert von asp2php; 20.11.2008, 11:14.

  • #2
    Code:
    <input type="submit" value="abschicken">
    PHP-Code:
    if (!isset($_POST['abschicken'])) {
        include(
    'eintrag.html');
        exit; } 
    passen nicht zusammen, daher ist isset($_POST['abschicken']) immer false!

    Beschäftige dich mal mit dem Stichwort: SQL-Injection

    Kommentar


    • #3
      Wie kann ich das denn dann am besten ändern, dass es funzt ???

      Kommentar


      • #4
        Gegenfrage: was erwartest du in $_POST?

        Kommentar


        • #5
          Ich erwarte von $_POST dass es mir die Daten aus dem Formular übergibt und in die Datenbank schreibt.

          Wie gesagt ich bin neu hier und möchte verstehen was ich da tue.

          Greetz

          Kommentar


          • #6
            OK, andersrum ... wofür steht 'abschicken' im $_POST-Array? Oder besser gesagt, woher soll diese Bezeichnung kommen?

            Kommentar


            • #7
              Die Bezeichnung "abschicken" ist die Value vom "submit" Button. Dachte das ist nur dazu da den Button zu beschriften.

              Kommentar


              • #8
                Code:
                <input type="submit" [b]name="abschicken"[/b] value="abschicken">

                Kommentar


                • #9
                  Und das ist schon alles. Habe ich nur das " name="abschicken" " vergessen. Oder gibt es an dem Skript noch was zu bemängeln?

                  Kommentar


                  • #10
                    Jetzt schreibt er mir dies hier:

                    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 'alter, username, password) VALUES ('Mike', 'Schnabl', '32', 'megamoped', 'dawork' at line 1

                    Kommentar


                    • #11
                      Such mal in SQL Online Hilfe nach reservierte Wörter dann weisst du was zu tun ist.

                      Kommentar


                      • #12
                        Super hat alles geklappt.

                        Das ich 'alter' nicht nutzen darf werde ich jetzt nicht mehr vergessen.

                        Vielen Dank für die schnelle Hilfe...

                        Kommentar

                        Lädt...
                        X