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

Keine Daten in die DB

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von willytyp, 17 Februar 2016.

  1. willytyp

    willytyp Benutzer

    Hallo,

    ich möchte gerne Daten in eine Datenbank bringen, was mir aber nicht gelingt.

    Zum beseren Verständnis, hier mal die Quellcodes:

    Code:
    <html>
    <head>
    
    <body>
    <p>Geben Sie bitte einen vollst&auml;ndigen Datensatz ein<br />
    und senden Sie das Formular ab:</p>
    
    <form action = "gesendet.php" method = "post">
       <p><input name="name" /> name</p>
       <p><input name="email" /> email</p>
       <p><input name="kommentar" /> kommentar</p>
       <p><input type="submit" name="gesendet" />
       <input type="reset" /></p>
    </form>
    
    <p>Alle Datens&auml;tze <a href="db_tabelle.php">anzeigen</a></p>
    </body>
    </html>
    
    und hier die zweite Datei:

    Code:
    <html
    <head>
    
    <body>
    <?php 
        /*echo "Hallo Welt";*/
    
       if (isset($_POST["gesendet"]))
       {
          $con = mysqli_connect("","root");
          mysqli_select_db($con, "gaestebuch");        /*Datenbank*/   
       
            $client_ip = $_SERVER['REMOTE_ADDR'];    /*IP ermitteln*/
            echo $client_ip;                        /*nur zum Testen*/
         
          $sql = "insert gaeste"                     /*Tabelle*/
            . "(name,email,ip,kommentar) values "    /*Spalte&uuml;berschriften*/     
            . "('" . $_POST["name"] . "', "            /*Zeichenkette mit Anfangsklammer*/     
            . "'" . $_POST["email"] . ", "            /*Zeichenkette*/
            . "'" . $_POST[$client_ip] . ", "        /*funktioniert nicht*/
            . "'" . $_POST["kommentar"] . "')";        /*Zeichenkette mit Endklammer*/
    
          mysqli_query($con, $sql);
    
          $num = mysqli_affected_rows($con);
          if ($num>0)   
          {
              echo $num;                    /*nur zum Testen*/
             echo "<p><font color='#00aa00'>";
             echo "Es wurde 1 Datensatz hinzugefügt";
             echo "</font></p>";
          }
          else
          {
              echo $num;                    /*nur zum Testen- hier wird -1 angezeigt*/
             echo "<p><font color='#ff0000'>";
             echo "Es ist ein Fehler aufgetreten, ";
             echo "es wurde kein Datensatz hinzugefügt";
             echo "</font></p>";
          }
    
          mysqli_close($con);
       }
    ?>
    
    </head>
    </body>
    </html>
    
    und hier noch die Datenbank
    upload_2016-2-17_19-50-22.jpeg

    Ich hoffe ich habe nun alles angezeigt was ihr evtl. braucht um mich aus dem Wahnsinn zu ziehen.
    Dahin bin ich auf dem besten Weg.

    Mit diesem Thema kämpfe ich schon sehr lange.

    Meinen Dank im voraus.

    LG
    willytyp
     
    Zuletzt von einem Moderator bearbeitet: 17 Februar 2016
  2. akretschmer

    akretschmer Datenbank-Guru

    Du hast ein reines PHP-Problem (erst einmal). Laß Dir den Fehler ausgeben, nach dem versuchten Insert.
     
  3. willytyp

    willytyp Benutzer

    Hallo akretschmer,
    das würde ich gerne machen, wenn ich wüßte wie.
    Es ist bei mir so, das ich aus der VBA Programmierung komme. Da konnte man einen Quellcode Step by Step durchlaufen
    und den Wert der Variablen kontrollieren. Das hat enorm zu Fehlerbehebung beigetragen.
    Das vermisse ich in PHP und sonstigen Sprachen zur Web-Site-Erstellung. Das ist doch mein Problem.
    Als Autodidakt der sein Wissen nur aus Büchern hat, habe ich so meine Sorgen.
    Da helfen mir solche Äußerungen

    recht wenig.

    Nun, wenn ich ein PHP-Problem habe, habe ich meine Frage wohl im falschen Forum gestellt.

    Kann du mir dennoch helfen, oder muß ich meine Anfrage noch einmal im PHP-Forum stellen um mir
    dort sagen zu lassen, das ich dort auch falsch bin?

    LG
    willytyp
     
  4. akretschmer

    akretschmer Datenbank-Guru

    nach "mysqli_query($con, $sql);" solltest Du dessen Rückgabewert prüfen, es gibt auch Funktionen, sich Fehlermeldungen anzeigen zu lassen. -> PHP
     
  5. Dukel

    Dukel Datenbank-Guru

  6. Walter

    Walter Administrator Mitarbeiter

    Und in Deinem Buch steht nichts darüber, wie man PHP debuggt? Und auch nichts darüber wie man Fehlerhandling macht? Und in Deinem Buch und in Google findest Du nichts über gute PHP-Entwicklungsumgebungen wie z.B. JetBrains PhpStorm? Dann solltest Du Deine Bücher und Google wegwerfen.
     
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