Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten in eine mySQL Datenbank mit Hilfe eines Formulars einfügen

Einklappen

Neue Werbung 2019

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

  • Daten in eine mySQL Datenbank mit Hilfe eines Formulars einfügen

    Liebe PHP.de Community,

    ich erstelle gerade eine "Bookmark-Verwaltung" und möchte Daten mit einem Formular in meine mySQL Datenbank einfügen.
    Ich probiere es jetzt schon seit einige Tagen, bekomme es aber nicht hin. :/

    Mein SQL Datenbank sieht so aus:





    und hier mein Code:

    Code:
    <?php
    $errors = array();
    $verbindung = mysql_connect("localhost", "jschubert", "x");
    if (!$verbindung) {
    $errors[] = "Fehler im System";}
    
    if (!mysql_select_db("mindworks")) {
    $errors[] = "Verbindung zur Datenbank nicht möglich.";}
    
    $abfrage = "SELECT * FROM `margebookmark`";
    $ergebnis = mysql_query($abfrage);
    if (!$ergebnis) {
    $errors[] = "Bei der Abfrage ist ein Fehler aufgetreten.";}
    ?>  
    
    <!DOCTYPE html>
    <html>
    <head>
    
    <title>Marges Bookmarks</title> <!--Tab-Leiste Name-->
    <h1>Marges Bookmarks</h1> <!--Überschrift-->
    
    <meta charset="UTF-8">
    <style type="text/css">
    
    body {
      padding: 0 2em; /*Innenabstand allgemein*/
      font-family: Arial, sans-serif; /*Schriftart->Body*/
      color: #024457; /*Schriftfarbe->Body*/
      background: #f2f2f2; /*Hintergrundfarbe->Body*/
    }
    
    ul {
        list-style-type: none; /*Aufzählungsart*/
        margin: 50; /*Außenabstand der Navigationszeile*/
        padding: 0; /*Innenabstand der Navigationszeile*/
        overflow: hidden; /*Anzeigeart der Navigationszeile*/
        background-color: #9ACD32; /*Hintergrundfarbe der Navigationszeile*/
    }
    
    li {
        float: left; /*Ausrichtung innerhalb der Navigationszeile*/
    }
    
    li a {
        display: block;
        color:  #024457;
        text-align: center;
        padding: 14px 16px;
        width: 90%;
    }
    table {
        border-collapse: collapse;
    }
    
    table, th, td {border:1px solid #666;}
    td {background-color:#fff;border:1px solid #aaa;}
    td:hover {background-color:#efefef;}
    
    
    table{
        width:100%;
    }
    
    th, td {
        padding: 5px;
        text-align: center;
    }
    </style>
    </head>
    <body>
    <nav>
    <ul id="navigation">
    <li><a href="home.php">Home</a></li>
    <li><a href="employee.php">Mitarbeiter</a></li>
    <li><a href="mysources.php">Meine Quellen</a></li>
    </nav>
    
    <?php
    if (count($errors) > 0) {
    foreach ($errors as $error) {
    echo '<p>' . $error . '</p>';
    }
    } else {
    ?>
    
    <table align='left'>
    <thead>
    <th>Nr.</th>
    <th>Bookmark</th>
    <th>URL</th>
    </thead>
    <tbody>
    
    <?php while ($row = mysql_fetch_object($ergebnis)) { ?>
    <tr>  
    <td><?= $row->Nummer?></td>  
    <td><?= $row->Bookmark?></td>
    <td><?= $row->URL?></td>
    </tr>
    <?php } ?>
    </tbody>
    </table>
    <?php } ?>
    </body>
    </html>

    Kann mir wer helfen? Danke im voraus!

  • #2
    Ich sehe nicht, wo du etwas in die Datenbank schreiben willst und ein Formular sehe ich auch nicht.

    Was ich aber sehe, dass du die veralteten mysql_*-Funktionen benutzt.
    Seit PHP 5.3 gehört die veraltete mysql-Erweiterung nicht mehr zur Standard-Installation.
    Seit PHP 5.5 ist die mysql-Erweiterung offiziell als deprecated (= missbilligt) gekennzeichnet.
    Ab PHP 7 ist die Erweiterung entfernt worden.

    Und "Select *" ist nicht gut, zähle die Spalten auf, die du erwartest.
    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

    Kommentar


    • #3
      Deine HT'ML-Ausgabe ist auch nicht valide. Ein h1 Element gehört nicht in den Headbereich der Ausgabe. Verwende den W3C Validator um dir Fehler anzeigen zu lassen.
      Aussedem speicherst du falsch. Die HTML-Elemente wie a gehören nicht in die DB, sonder lediglich der Linktext und die URI, nackt ohne Tags.

      Kommentar


      • #4
        Zitat von uha Beitrag anzeigen
        Ich sehe nicht, wo du etwas in die Datenbank schreiben willst und ein Formular sehe ich auch nicht.

        Was ich aber sehe, dass du die veralteten mysql_*-Funktionen benutzt.
        Seit PHP 5.3 gehört die veraltete mysql-Erweiterung nicht mehr zur Standard-Installation.
        Seit PHP 5.5 ist die mysql-Erweiterung offiziell als deprecated (= missbilligt) gekennzeichnet.
        Ab PHP 7 ist die Erweiterung entfernt worden.

        Und "Select *" ist nicht gut, zähle die Spalten auf, die du erwartest.
        Also soll ich pdo verwenden?
        Wie zähle ich die Spalten nochmal auf, die ich erwarte?

        Kommentar


        • #5
          Zitat von protestix Beitrag anzeigen
          Deine HT'ML-Ausgabe ist auch nicht valide. Ein h1 Element gehört nicht in den Headbereich der Ausgabe. Verwende den W3C Validator um dir Fehler anzeigen zu lassen.
          Aussedem speicherst du falsch. Die HTML-Elemente wie a gehören nicht in die DB, sonder lediglich der Linktext und die URI, nackt ohne Tags.
          Ich habe es nicht anders hinbekommen, die Verlinkung zu aktivieren.

          Kommentar


          • #6
            Zitat von Kingyobachi Beitrag anzeigen

            Also soll ich pdo verwenden?
            Oder mysqli
            Zitat von Kingyobachi Beitrag anzeigen
            Wie zähle ich die Spalten nochmal auf, die ich erwarte?
            select `Nummer`, `Bookmark`, `URL` from `margebookmark`

            Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

            Kommentar

            Lädt...
            X