Ankündigung

Einklappen
Keine Ankündigung bisher.

sql Eintrag

Einklappen

Neue Werbung 2019

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

  • sql Eintrag

    ich habe folgenden code
    Code:
    <?
    if($_POST[flag==1]);
    {
    $tabelle = "stammdaten";
    $benutzer = "root";
    $passwort ="";
    $dbname="kunden";
    $sql="INSERT INTO $tabelle(id, anrede, name, ansprechpartner, strasse, plz, ort, telefon, mail) values ('".$_POST[anrede]."','".$_POST[name]."','".$_POST[ansprechpartner]."','".$_POST[strasse]."','".$_POST[plz]."','".$_POST[ort]."','".$_POST[telefon]."','".$_POST[mail]."')";
    $link = mysql_connect("localhost", $benutzer, $passwort) or die( "<H2>Abfragefehler</H2>" . mysql_error()); 
    mysql_select_db("kunden", $link) or die( "<H2>Abfragefehler</H2>" . mysql_error()); 
    mysql_query($sql, $link) or die( "<H2>Abfragefehler</H2>" . mysql_error()); 
    $meldung = "Angaben wurden eingetragen";
    echo $meldung;
    }
    if(!$POST[flag])
    {
    ?>
    <form action="<? echo $PHP_SELF; ?>" method="post">
    <input type="hidden" name="flag" value="1" />
    <p>Anrede:<br />
    <input type="text" name="anrede" value="<? echo $_POST[anrede]; ?>"></p>
    <p>Name:<br />
    <input type="text" name="name" value="<? echo $_POST[name]; ?>"></p>
    <p>Ansprechpartner:<br />
    <input type="text" name="ansprechpartner" value="<? echo $_POST[ansprechpartner]; ?>"></p>
    <p>Strasse:<br />
    <input type="text" name="strasse" value="<? echo $_POST[strasse]; ?>"></p>
    <p>PLZ:<br />
    <input type="text" name="plz" value="<? echo $_POST[plz]; ?>"></p>
    <p>Ort:<br />
    <input type="text" name="ort" value="<? echo $_POST[ort]; ?>"></p>
    <p>Telefon:<br />
    <input type="text" name="telefon" value="<? echo $_POST[telefon]; ?>"></p>
    <p>Mail:<br />
    <input type="text" name="mail" value="<? echo $_POST[mail]; ?>"></p>
    <input type="submit" value="Eintragen" />
    </form>
    <?
    }
    ?>
    Nun meine Fragen
    warum wird alles doppelt eingetragen ?
    und wie kann ich "id" überspringen ?

  • #2
    Kannst du den Code bitte vorher noch in PHP-Tags setzen und sinnvolle Einrückungen vornehmen? Dann wird dir auch geholfen.
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      Hallo rest,

      Code:
      <?
      if($_POST[flag==1]);
      {
      Da sehe ich schonmal einen Fehler. Richtig würde es heißen:

      Code:
      if($_POST['flag'] == 1) {
      Auf keinen Fall Semikolon hinter der If-Anweisung!

      Gruß,
      Leibi
      Just took a stone and destroyed my windows...

      Kommentar


      • #4
        Hey,
        willkommen bei uns im Forum PHP kann dir bei der Fehlersuche helfen, wenn du das Error-Reporting hochschraubst. Dazu error_reporting(E_ALL | E_STRICT) an den Anfang deines Skriptes stellen

        Auch mal hier vorbeischauen:
        PHP: Arrays - Manual
        "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

        Kommentar


        • #5
          Zitat von rest Beitrag anzeigen
          warum wird alles doppelt eingetragen ?
          Das ist Quatsch, es wird gar nichts eingetragen, sonder MySQL generiert einen Fehler, weil die Anzahl Werte nicht der Anzahl der Felder entspricht.
          Zitat von rest Beitrag anzeigen
          wie kann ich "id" überspringen ?
          Lass doch die Angabe bei den Feldern einfach weg (dann verschwindet auch die oben genannte Fehlermeldung).

          Ansonsten gilt alles, was hier schon gesagt wurde.
          Gruss
          L

          Kommentar


          • #6
            Zitat von Leibi Beitrag anzeigen
            Code:
            <?
            if($_POST[flag==1]);
            {
            Da sehe ich schonmal einen Fehler. Richtig würde es heißen:
            Einen? Eher drei...
            [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


            • #7
              Hallo!

              Davon würde ich dir auch abraten,das ist XSS anfällig!
              PHP-Code:
              <form action="<? echo $PHP_SELF; ?>" method="post">
              Wenn dann eher so hier schreiben!

              PHP-Code:
              <form action="<?php echo htmlentities($_SERVER['SCRIPT_NAME']); ?>" method="post">
              Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
              [URL]http://www.lit-web.de[/URL]

              Kommentar


              • #8
                Oder ein leeres Action Attribut. Tuts auch.
                [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


                • #9
                  Zitat von nikosch77-new Beitrag anzeigen
                  Einen? Eher drei...
                  War damit gemeint - Denk dir einfach ne drei hin
                  Mit XSS-Sicherheitslücken sollte man vorsichtig sein. Auf keinen Fall unterschätzen!
                  Just took a stone and destroyed my windows...

                  Kommentar


                  • #10
                    Oder ein leeres Action Attribut. Tuts auch.
                    Ahhh - ich hab immer ein leeres Action-Attribut genommen, wenn das Script sich selbst aufrufen sollte, hab dann hier irgendwo gelesen, dass das eher nur zufällig funktioniert und man da besser was gescheites reinschreibt, und schau grade meine Scripts durch, wo es was zu verbessern gibt - und nu schreibst du, dass man das machen kann.

                    Ich geh erstmal Kaffee trinken
                    [PHP]if ($var != 0) {
                    $var = 0;
                    }[/PHP]

                    Kommentar


                    • #11
                      Hallo!

                      nickosch hat recht man kann das machen. Über das Thema der Sicherheit scheiden sich die geister,viele haben unterschiedliche Ansichten!
                      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                      [URL]http://www.lit-web.de[/URL]

                      Kommentar

                      Lädt...
                      X