Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Datensatz mit Formular in SQL-Datenbank speichern

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von salipin, 20 Januar 2015.

  1. salipin

    salipin Benutzer

    Hallo Leute
    Möchte mit einem Formular Datensätze in meine SQL-Datenbank speichern.
    Erhalte jedoch bei dieser Zeile (siehe unten) eine Fehlermeldung.
    Hab ich hier wo einen Fehler?
    Danke für Eure Hilfe.
    LG Salipin ;)

    $sql = INSERT INTO tabellenname ('ID','Familienname','Vorname','StrasseNr','PLZ','Ort','TelNr','Mail') VALUES (NULL, '$Familienname', '$Vorname', '$StrasseNr', '$PLZ', '$Ort', '$TelNr', '$Mail');
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Die Fehlermeldung geheim zu halten zeugt von Weitsicht. Könnten doch böse Terroristen davon Gebrauch machen.
     
  3. salipin

    salipin Benutzer

    OH - Sorry....
    Parse error: syntax error, unexpected T_STRING in /share/MD0_DATA/Web/db_datenbank/seite18.php on line 40
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Cool. Weil ja Seite 18, Zeile 40 uns allen so bekannt ist, daß wir das nachts auswendig aufsagen können...
     
  5. salipin

    salipin Benutzer

    ZEILE 40:
    $sql = INSERT INTO tabellenname ('ID','Familienname','Vorname','StrasseNr','PLZ','Ort','TelNr','Mail') VALUES (NULL, '$Familienname', '$Vorname', '$StrasseNr', '$PLZ', '$Ort', '$TelNr', '$Mail');
     
  6. akretschmer

    akretschmer Datenbank-Guru

    Dann hast Du einen PHP-Fehler. Mach Dich vertraut, wie man in PHP Strings einer Variablen zuweist.
     
  7. salipin

    salipin Benutzer

    Hab mal den ganzen Code eingefügt - vielleicht kann jemand helfen - DANKE. :)

    <?php
    session_start();
    if(isset($_SESSION["username"])) {
    ?>
    <html>
    <head>
    <title>Mein Bereich</title>
    <meta charset="UTF-8" />
    </head>
    <body>
    <h1>Hallo <?php echo $_SESSION["username"]; ?></h1>
    <?php
    require_once ('configuration.php');
    $db_link = mysqli_connect (MYSQL_HOST,
    MYSQL_BENUTZER,
    MYSQL_KENNWORT,
    MYSQL_DATENBANK);
    ?>
    <form method ="POST">
    Familienname: <input type="text" name="Familienname" /><br />
    Vorname: <input type="text" name="Vorname" /><br />
    StrasseNr: <input type="text" name="StrasseNr" /><br />
    PLZ: <input type="text" name="PLZ" /><br />
    Ort: <input type="text" name="Ort" /><br />
    TelNr: <input type="text" name="TelNr" /><br />
    Mail: <input type="text" name="Mail" /><br />
    <input type="submit" value="submit" />
    </form>

    <?php
    if(isset($_POST['submit'])) {
    $Familienname = ($_POST["Familienname"]);
    $Vorname = ($_POST["Vorname"]);
    $StrasseNr = ($_POST["StrasseNr"]);
    $PLZ = ($_POST["PLZ"]);
    $Ort = ($_POST["Ort"]);
    $TelNr = ($_POST["TelNr"]);
    $Mail = ($_POST["Mail"]);


    $sql = INSERT INTO tabellenname ('ID','Familienname','Vorname','StrasseNr','PLZ','Ort','TelNr','Mail') VALUES (NULL, '$Familienname', '$Vorname', '$StrasseNr', '$PLZ', '$Ort', '$TelNr', '$Mail');


    $query = mysqli_query($sql) or die (mysqli_error());
    if ($query == true)
    {
    echo "Datensatz wurde eingefügt";
    }
    else
    {
    echo "Datensatz konnte nicht eingefügt werden";
    }
    }

    ?>

    <a href="logout.php">Ausloggen</a>
    </body>
    </html>
    <?php
    } else {
    ?>
    Bitte erst einloggen, <a href="index.php">hier</a>.
    <?php
    }
    ?>
     
  8. akretschmer

    akretschmer Datenbank-Guru

    Das hier ist kein PHP-Forum. Helfen kann Dir aber z.B. Google, wenn Du da z.B. nach 'php string variable' fragst.
     
  9. Distrilec

    Distrilec Datenbank-Guru

    PHP:
    $sql "INSERT INTO tabellenname ('ID','Familienname','Vorname','StrasseNr','PLZ','Ort','TelNr','Mail') VALUES (NULL, '$Familienname', '$Vorname', '$StrasseNr', '$PLZ', '$Ort', '$TelNr', '$Mail');";
    As simple as that ?
     
  10. salipin

    salipin Benutzer

    OK - danke, die Fehlermeldung ist weg.
    Daten werden jedoch nicht in die Datenbank geschrieben.
     
  11. akretschmer

    akretschmer Datenbank-Guru

    Nein, das ganze Script ist eine Katastrophe größeren Ausmaßes. SQL-Injection
    Die ID ist sicherlich ein PK und damit NOT NULL. MySQL mißachtet zwar großflächig Constraints, aber wer weiß, hier vielleicht mal nicht?
     
  12. Distrilec

    Distrilec Datenbank-Guru

    Sorry, konnte von einem php syntax-error nicht auf eine SQL-Injection schließen...
    Und da ich generell von PHP so viel verstehe wie ein LKW-Fahrer vom Flugzeug fliegen... :oops:
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden