Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mit PHP Daten in MySQL-Datenbank schreiben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Mit PHP Daten in MySQL-Datenbank schreiben

    Hallo,

    ich hätte mal ein kleines Problem, bei dem ich mit meinen bescheidenen Kenntnissen nicht so recht weiterkomme ...

    Ich möchte, dass die über ein Formular eingegebenen Daten in einer vorhandenen MySQL-Datenbank gespeichert werden. Irgendwie funktioniert das aber nicht, da in der Datenbank keine neuen Einträge erscheinen.

    Hier mal mein Quellcode:

    PHP-Code:
    <?php

    //Formular zur Dateneingabe
    echo'<h3>Daten eintragen</h3>

    <form method="post" action="datenbank01.php">
      Vorname: <input type="text" name="vorname" size="30"><br>
      Nachname: <input type="text" name="nachname" size="30"><br>
      Email: <input type="text" name="email" size="30"><br>
      <input type="submit" value="Eintragen!">
    </form>'
    ;

    ?>
    Und die entsprechende "datenbank01.php":

    PHP-Code:
    <?php

    //Variablen zuweisen
    $vorname $_POST['vorname'];
    $nachname $_POST['nachname'];
    $email $_POST['email'];

    //Verbindung herstellen
    $datenbank mysql_connect('localhost','root','');

    if(
    $datenbank)
        echo(
    'DB-Serververbindung hergestellt! ');
    else
        die(
    'DB-Serververbindung fehlgeschlagen! ');

    $verbunden mysql_select_db("test");

    if(
    $verbunden)
        echo(
    'DB-Verbindung hergestellt! ');
    else
        die(
    'DB-Verbindung fehlgeschlagen! ');

    //Daten in DB speichern
    $sql_befehl "INSERT INTO tabelle VALUES ($vorname,$nachname,$email)";
     if ((
    "" == $vorname) OR (""== $nachname) OR(""== $email)) {
            echo 
    "Fehler: Eintrag unvollständig. ";
        } else {

      echo 
    "Ihr Eintrag wurde hinzugefügt. ";
    }

    //Verbindung beenden
    mysql_close($datenbank);

    ?>
    Egal, was ich nun mache, ich erhalte immer alle Erfolgsmeldungen aus der "datenbank01.php", in der Datenbank selbst (habe diese vorher per phpmyadmin angelegt) wird kein neuer Eintrag gespeichert.



    Nun probiere ich schon ein paar Stunden an dem Problem rum und finde aber keine Lösung. Hat eventuell jemand einen Tipp für mich, was da falsch läuft?

  • #2
    - Falsche Query (gib die Eingabefelder mit an, Benutze Hochkommata)
    - SQL wird nicht ausgeführt (mysql_query)
    - Die "Erfolgsmeldung" ist auch gar nicht an die Datenbankfunktion gekoppelt
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Hallo,

      danke für die Antwort, klappt aber irgendwie noch nicht so ganz ...

      PHP-Code:
      <?php

      //Variablen zuweisen
      $vorname $_POST['vorname'];
      $nachname $_POST['nachname'];
      $email $_POST['email'];

      //Verbindung herstellen
      $datenbank mysql_connect('localhost','root','');

      if(
      $datenbank)
          echo(
      'DB-Serververbindung hergestellt! ');
      else
          die(
      'DB-Serververbindung fehlgeschlagen! ');

      $verbunden mysql_select_db("test");

      if(
      $verbunden)
          echo(
      'DB-Verbindung hergestellt! ');
      else
          die(
      'DB-Verbindung fehlgeschlagen! ');

      //Daten in DB speichern
      $sql_befehl "    INSERT INTO tabelle VALUES
                      (
                          '" 
      $_POST['vorname'] . "',
                          '" 
      $_POST['nachname'] . "',
                          '" 
      $_POST['email'] . "'
                      )"
      ;

      mysql_query($sql_befehl);

      if ((
      "" == '$vorname') OR (""== '$nachname') OR(""== '$email')) {
              echo 
      "Fehler: Eintrag unvollständig. ";
          } else {

        echo 
      "Ihr Eintrag wurde hinzugefügt. ";
      }

      //Verbindung beenden
      mysql_close($datenbank);

      ?>
      Könnte mir bitte jemand sagen, wie dieses Beispiel dann korrekt aussehen muss?

      Kommentar


      • #4
        PHP-Code:

        //Variablen zuweisen
        $vorname $_POST["vorname"];
        $nachname $_POST["nachname"];
        $email $_POST["email"];

        if ((
        $vorname == "") OR ($nachname == "") OR($email == "")) {
                echo 
        "Fehler: Eintrag unvollständig.";
                die; 
        }

        //Verbindung herstellen
        $datenbank mysql_connect("localhost","root","") or die ("Verbindung fehlgeschlagen: ".mysql_error());
        $verbunden mysql_select_db("test") or die ("Datenbank nicht gefunden oder fehlerhaft");

        //Daten in DB speichern
        $sql_befehl mysql_query("INSERT INTO tabelle (vorname,nachname,email) VALUES ('".$_POST['vorname']."','".$_POST['nachname']."','".$_POST['email']."')");

        if(
        $sql_befehl)
        { echo 
        "Ihr Eintrag wurde hinzugefügt."; }

        //Verbindung beenden
        mysql_close($datenbank); 
        Normal mach ich sowas ja nich, hatte aber grad nichts anderes zu tun.. *hust*

        Kommentar


        • #5
          Vielen Dank!

          Kommentar


          • #6
            Schau Dir den Quellcode nochmal in Ruhe an und versuch ihn zu verstehen... Nur das hilft Dir, die Fehler von deinem Quelltext herauszufiltern und in Zukunft den Quelltext korrekt schreiben zu können!

            Kommentar


            • #7
              Wichtig!
              Benutze gleich noch mysql_real_escape_string und mache Dich mit der dahinterliegenden Sicherheitsproblematik der SQL Injection vertraut!
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #8
                Danke für die Hinweise!

                Kommentar

                Lädt...
                X