Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular mit php in MySQL Tabelle einlesen

Einklappen

Neue Werbung 2019

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

  • Formular mit php in MySQL Tabelle einlesen

    Hallo,

    ich bin PHP Anfänger und möchte ein sehr einfaches Formular in MySQL importieren.

    Bisher alles auf dem localhost

    Tabelle wurde angelegt über phpmyadmin Datenbankname "links" - Tabellenname "links"
    Ich weiss das ist etwas "blöd" aber der Stand ist im Moment so.

    Nun bekomme ich die Daten leider nicht rein in die Datenbank, Ich füge den etwas längeren Code ein und bitte um Hilfe wo ich mich auf dem Holzweg befinde.

    VIELEN DANK für eure Hilfe.



    <!--<form action="eintrag-einfuegen.php" method="POST" name="formular" id="formular">-->

    URL Ihrer Webseite inkl. http://<br />
    <input size="45" type="text" name="url" id="url" value="" /><br /><br />
    URL in kurzform ohne www.<br />
    <input size="45" type="text" name="urlname" id="urlname" value="" /><br /><br />
    Name der Webseite<br />
    <input size="45" type="text" name="name" id="name" value="" /><br /><br />
    URL Ihres Banners<br />
    <input size="45" type="text" name="banner" id="banner" value="" /><br /><br />
    Beschreibung Ihrer Seite <b />
    <textarea name="beschreibung" id="beschreibung" cols="52" rows="4"></textarea><br /><br />
    <input type="submit" name="submit" id="submit" value="EINTRAGEN IN MySQL TABELLE" />

    </body>

    </html>


    PHP-Code:
    <?php
            error_reporting 
    (E_ALL E_STRICT);
            
    ini_set ('display_errors' 1);

            
    $db_host "localhost";
            
    $db_user "root";
            
    $db_pass "xxx";
            
    $db_name "links";

            if (isset( 
    $_POST['submit']))
                    {
                    
    // Maskierende Slashes aus POST entfernen
                    
    $_POST get_magic_quotes_gpc() ? array_map'stripslashes'$_POST ) : $_POST;

                    
    // Inhalte der Felder aus POST holen
                    
    $url $_POST['url'];
                    
    $urlname $_POST['urlname'];
                    
    $name $_POST['name'];
                    
    $banner $_POST['banner'];
                    
    $beschreibung $_POST['beschreibung'];


                    
    /* ************************************************************************************************ */
                    /* *** Hier sollten und MUESSEN die Benutzereingaben geprueft werden um Schadcode abzufangen!!! *** */
                    /* ************************************************************************************************ */

                    // Sind alle Eingaben durch die Validierung gekommen werden sie in die DB geschrieben
                    // Verbindung oeffnen und Datenbank ausweahlen
                    
    $conID mysql_connect$db_host$db_user$db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
                            if (
    $conID)
                                    {
                                    
    mysql_select_db$db_name$conID );
                                    }

                    
    // Anfrage zusammenstellen der an die DB geschickt werden soll
                    
    $sql "INSERT INTO `links`
                            (`url`,`urlname`, `name`, `banner`,`beschreibung`)
                                    VALUES(
                                            '" 
    .mysql_real_escape_string$url ). "',
                                            '" 
    .mysql_real_escape_string$urlname ). "',
                                            '" 
    .mysql_real_escape_string$name ). "',
                                            '" 
    .mysql_real_escape_string$banner ). "',
                                            '" 
    .mysql_real_escape_string$beschreibung ). "'
                                          )"
    ;

                    
    // Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
                    
    $query mysql_query($sql) or die("Fehler: ".mysql_error());
                    
    // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
                    
    if (mysql_affected_rows() == 1)
                            {
                            echo 
    "<h3>Der Datensatz wurde hinzugefügt!</h3>";
                            
    // Hier kann weiterer Code stehen der ausgefuehrt werden soll
                            // wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
                            // der ueber den neuen Eintrag informiert
                            
    }
                    else
                            {
                            echo 
    "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
                            
    // Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren
                            // wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken
                            // damit er sich um den Fehler kuemmern kann, etc pp
                            
    var_dump
                            
    }
                    }


    ?>


  • #2
    Hi.

    Pack bitte deinen Code in die dafür vorgesehenen PHP Tags Dann können wir es auch deutlich besser lesen!

    Wolf29

    P.S. Mach mal ein korrektes Debugging, mit mysql_error() Ausgabe, ERROR_REPORTING(E_ALL); am Anfang und ini_set('display_errors', 1);
    P.S. Weiße bitte dein mysql_query Statement einer Variable zu, dann kannst du mit if ($meineVariable){ prüfen, ob alles erfolgreich gelaufen ist!
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Brauche weitere Hilfe

      Hallo erst mal für deine schnelle Hilfe. Kannst du mir zeigen wie das im Code aussieht?

      Kommentar


      • #4
        Erst mal machst du bitte das, was Wolf dir im ersten Satz sagte!

        Kommentar


        • #5
          Wurde geändert - Bitte entschuldigt

          Kommentar


          • #6
            Du hättest deinen Anfangsbeitrag auch editieren können

            Hinweise, wie man bei der Fehlersuche vorgeht, findest du hier:
            http://www.php.de/wiki-php/index.php/Debugging:SQL
            http://www.php.de/wiki-php/index.php...ging:Leitfaden

            Kommentar


            • #7
              Viel besser. Mach mal aus

              PHP-Code:
              mysql_query$sql ); 
              lieber

              PHP-Code:
              $query mysql_query($sql) or die("Fehler: ".mysql_error()); 
              Sämtliche anderen Debug Möglichkeiten hab ich Dir bereits gepostet! Anbei: lies bitte mal nach, was es mit SQL Injection auf sich hat!!

              Wolf29
              while (!asleep()) sheep++;

              Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

              Kommentar


              • #8
                Probleme

                Vielen dank für eure Hilfe. Ich bin leider noch blutiger Anfänger und bekomme das einfach nicht hin. Ich wäre euch sehr dankbar, wenn Ihr mir hir etwas detailierter weiter helfen könntet.

                $query wurde geändert. Beim Rest habe ich Probleme.

                Bitte entschuldige wenn ich nerve

                Gruß MySQL-Bastler

                Kommentar


                • #9
                  Wenn du damit Probleme hast, dann beschreibe du bitte auch konkreter, welche genau - nur ein einfaches „bekomme es nicht hin“ ist zu wenig.

                  Kommentar


                  • #10
                    Wo und wie füge ich folgenden Code ein?
                    Habe noch einen kleinen Fehler im Code gefunden und bereits oben korrigiert.

                    P.S. Mach mal ein korrektes Debugging, mit mysql_error() Ausgabe, ERROR_REPORTING(E_ALL); am Anfang und ini_set('display_errors', 1);
                    P.S. Weiße bitte dein mysql_query Statement einer Variable zu, dann kannst du mit if ($meineVariable){ prüfen, ob alles erfolgreich gelaufen ist!

                    Kommentar


                    • #11
                      Wenn du zitierst und dich damit auf andere Beiträge beziehst, dann mache es bitte richtig - nutze [quote]-Tags.

                      Und wenn du hier Links genannt bekommst - dann lese dort bitte auch nach!
                      Die Wiki-Links beschreiben, wie man beim Debugging vorgeht - und auch, wo man die entsprechenden Code-Stücke sinnvollerweise platziert.

                      Kurzum: Zeige bitte etwas mehr Eigeninitiative, wenn du hier schon die entsprechenden Tipps bekommst.
                      Anfänger zu sein ist kein „Schutzschild“, das man vor sich her trägt, um sich nicht selber ein bisschen mit der Materie beschäftigen zu müssen.

                      Kommentar


                      • #12
                        Hallo nochmals, gerne werde ich deine Hinweise beachten. Bitte versteht aber, dass man als Anfänger noch nicht so fit ist um dies alles richtig umzusetzen. Ich bin seit 2 Tagen an diesem Problem und wälze bereits zig Foren und Hilfeseiten.

                        Ein Profi sollte den Fehler in Kürze finden - ich leider nicht - ich werde hier nur ständig "angemekkert". Dies ist mein erster Post und ich kenne mich in diesem Forum noch nicht so aus. Aber ich lerne.

                        Kommentar


                        • #13
                          Du wirst nicht angemekkert, sondern man weiß Dich auf vieles hin!

                          Klar, ist das ne oft ne ziemliche Menge auf einmal, aber wenn man Dir fertige Skripte niederschreibt, oder dein Problem sofort löst, wirst Du selber nicht weiterkommen! So "zwingt" man Dich praktisch dazu, dass Problem selber zu lösen. Wenn es dann hakt, sind wir gerne da und helfen!

                          Greetz Wolf29
                          while (!asleep()) sheep++;

                          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                          Kommentar


                          • #14
                            Zitat von MySQL-Bastler Beitrag anzeigen
                            Hallo nochmals, gerne werde ich deine Hinweise beachten. Bitte versteht aber, dass man als Anfänger noch nicht so fit ist um dies alles richtig umzusetzen.
                            Versuchen kannst du es aber wenigstens.
                            Und wenn du damit nicht weiter kommst, dann zeigst du uns, was du versucht hast - und welches Ergebnis du damit erhältst.

                            Ein Profi sollte den Fehler in Kürze finden - ich leider nicht
                            Dann dauert es halt etwas länger - auch nicht schlimm.

                            - ich werde hier nur ständig "angemekkert". Dies ist mein erster Post und ich kenne mich in diesem Forum noch nicht so aus.
                            Du wirst nicht „angemeckert“, sondern darauf hingewiesen, wie du dich hier verhalten sollst (und wie nicht), wenn du Hilfe bekommen und was lernen willst.

                            Und das steht übrigens auch schon in den Forenrichtlinien - und die solltest du eigentlich gelesen haben, wenn du hier postest.

                            Kommentar


                            • #15
                              Der Code wurde nochmals korrigiert und die von euch empfohlenen Änderungen vorgenommen.
                              Leider bekomme ich keine weiteren Fehlermeldungen.

                              Mein Datenimport bleibt mit folgender Meldung stehen:

                              Der Datensatz konnte nicht hinzugefügt werden!

                              Im Code Zeile 85

                              Kommentar

                              Lädt...
                              X