Datenbanktabellen über Formular erweitern

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

  • Datenbanktabellen über Formular erweitern

    Hi,

    sry erstmal das ich jetzt so häufig poste und fragen stelle aba ich bin was PHP/SQL angeht noch ein echter Newbie...

    Ich möchte folgendes machen: Ich habe eine Datenbank(team) mit einer Tabelle(adressen). In diese Tabelle möchte ich per Formular neue Einträge tätigen können. Allerdings wird nach dem absenden des Formulars folgende Fehlermeldungen ausgegeben:
    Notice: Undefined index: Mail in C:\apachefriends\xampp\htdocs\php-kurs\contact.php on line 31
    (die bekomme ich nur dadurch behoben indem ich "...,'$_POST[Mail]' lösche aba dis soll ja eigentlich nich sinn der sache sein (der Name mit dem Formularfeld stimmt allerdings überein)

    und:

    "(mysql_error().''.'INSERT INTO adressen (id, Vorname, Name, Str, PLZ, Ort, Tel, Email, WWW, Notizen) VALUES ('', 'Hallo', 'dies', 'ist ', 'ein ', 'test', 'hoffentlich', 'funktioniert ', 'alles', 'Oder???')'.'') "

    Hier die betreffenden Quelltextausschnitte:

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
    Vorname: <input type="text" name="Vorname"><br><br>
    Name: <input type="text" name="Name"><br><br>
    Str.: <input type="text" name="Str"><br><br>
    PLZ: <input type="text" name="PLZ"><br><br>
    Ort: <input type="text" name="Ort"><br><br>
    Tel.:<input type="text" name="Tel"><br><br>
    Email:<input type="text" name="Mail"><br><br>
    Webadresse<input type="text" name="WWW"><br><br><br>
    Notizen<br><br>
    <textarea name="Notizen" cols="30" rows="5">
    </textarea>
    <input type="submit" value="Abschicken" name="submit">
    </form>

    <?php
    if (!empty($_POST["submit"])) {
    mysql_connect("localhost","root","") or die ("Tut mir leid, Verbindung zum Server gescheitert.");
    mysql_select_db("team") or die("Sry, Datenbank kann nicht abgerufen werden.");
    $sql="INSERT INTO adressen(id, Vorname, Name, Str, PLZ, Ort, Tel, Email, WWW, Notizen) VALUES ('', '$_POST[Vorname]', '$_POST[Name]', '$_POST[Str]', '$_POST[PLZ]', '$_POST[Ort]', '$_POST(Tel)', '$_POST[Mail]', '$_POST[WWW]', '$_POST[Notizen]')";
    if (mysql_query($sql)) {
    echo "Datenübertragung erfolgreich<br> [ <a href='kapitel8.php'>Adressen anschauen</a> ]";
    }
    else {
    echo "(mysql_error().'<hr />'.'$sql'.'<hr />')";
    }
    mysql_close();
    }
    ?>

    /* Ende */


    Ich hoff sehr ihr könnt mir helfen. Ich hab den Code mehrmals durchgelesen und sogar nochmal komplett neu geschrieben...


    Vielen Dank

    Piepmatz
    Das Loch ist das Sein im Unsein des Seins.

  • #2
    PHP-Code:
    $_POST['Mail'
    siehe hier

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo

      - bitte tu doch deinen Code in PHP-Tags. Sonst ist er so schwierig zu lesen.
      - mach mal dein SQL so

      PHP-Code:
      $sql "INSERT [...] VALUES ('" $_POST['Vorname'] . "', '" $_POST['Name']' [...] 
      - Die Spalte id ist sicherlich mit auto_increment belegt, dann wird automatisch da die neue ID eingetragen. Also raus damit aus der Query.

      - Lies bei gelegenheit mal was über SQL Injections - du machst dir da ein recht großes Sicherheitsloch auf.
      ich glaube

      Kommentar


      • #4
        hi,

        ich hab gestern noch nen bissen an dem Script rumprobiert und: es funkt jetz :-) Ich weiß auch nicht mehr exakt was ich geändert hab. vielen Dank für die tipps!
        Das Loch ist das Sein im Unsein des Seins.

        Kommentar

        Lädt...
        X