(Newbie) Wie schreib ich HTML-Formdaten in die MySQL-Datenbank??

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

  • #16
    <form method="POST" action="<?php echo $PHP_SELF ?>?gesendet=true">

    $sql = "UPDATE item SET name = '".$_GET['name']."' WHERE id = '$edit_item_VAR'";
    Du sendest mit POST und greifst auf GET zu. Das kann so nicht gehen, und woher bekommt das abgesendete Script sein $edit_item_VAR? Muss das nicht theoretisch auf via POST übergeben werden?
    Das passt alles vorne und hinten nit zammen.

    Ein aktueller Stand wäre mal ganz hilfreich.

    Kommentar


    • #17
      Okay, ich geb's noch nicht auf:
      Aktueller Stand ist:

      PHP-Code:
      <form method="POST" action="<?php echo $PHP_SELF ?>?gesendet=true">
      <input type="text" name="name" value="<?php echo $name ?>">
      <input type="submit" value="Änderungen übernehmen">
      Das ist die Form-Definition,
      abfangen tu ich dann so:
      PHP-Code:
          if ($gesendet == "true")
          {
              
      $sql "UPDATE item SET name = '".$_POST['name']."' WHERE id = '$edit_item_VAR'";
              @
      mysql_query($sql$db);
          } 
      $edit_item_VAR ist definiert als Integer, ohne die hätt ich die Werte ja nicht auslesen können - die gibt es also und ist in meiner Testanwendung 1
      ***Wer mag schon Signaturen?***

      Kommentar


      • #18
        Tu mir bitte mal den gefallen und mach folgendes:


        PHP-Code:
        if ($gesendet == "true")
            {
                echo 
        $sql "UPDATE item SET name = '".$_POST['name']."' WHERE id = '$edit_item_VAR'";
                
        # @mysql_query($sql, $db);
            

        Und Poste den Output

        Kommentar


        • #19
          Aktueller Stand ist:
          Poste doch lieber den HTML(!)-Quelltext!

          Okay, ich geb's noch nicht auf:
          Und warum verwendest du hier beim Debuggen ein @? Und wo sind die Testausgaben??? Ich warte immernoch auf die Query, die du tatsächlich absetzt und auf die antworten aus meinem letzten posting.

          Kommentar


          • #20
            Original geschrieben von Schnoop
            Tu mir bitte mal den gefallen und mach folgendes:


            PHP-Code:
            if ($gesendet == "true")
                {
                    echo 
            $sql "UPDATE item SET name = '".$_POST['name']."' WHERE id = '$edit_item_VAR'";
                    
            # @mysql_query($sql, $db);
                

            Und Poste den Output
            Ich seh keinen echo-.Output, weil sofort kommt:
            You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

            ??? - ich mach jetzt feierabend - mein kopf ist kaputt jetzt, vielleicht meld ich mich nachher nochmal
            ***Wer mag schon Signaturen?***

            Kommentar


            • #21
              Seltsam ist das schon ein bissl.
              Ich glaub da ist noch eine andere Query die den Fehler verursacht, weil du

              a) durch das @ die Fehlermeldung unterdrückst
              b) mit dem # die Line eigentlich auskommentiert sein sollte


              Kommentar


              • #22
                *rofl*

                Wie war das mit den Testausgaben? Der Output kommt nicht nicht(!) wegen der Fehlermeldung, sondern, weil die if-condition gar nicht erfüllt wird.

                Kommentar


                • #23
                  Original geschrieben von Schnoop
                  Seltsam ist das schon ein bissl.
                  Ich glaub da ist noch eine andere Query die den Fehler verursacht, weil du

                  a) durch das @ die Fehlermeldung unterdrückst
                  b) mit dem # die Line eigentlich auskommentiert sein sollte


                  Ja schon klar, was das bewirken sollte, aber warum sollte die if-bedingung nicht erfüllt sein??? Langsam werd ich aber echt irre...;-)
                  ***Wer mag schon Signaturen?***

                  Kommentar


                  • #24
                    MACH JETZT ENDLICH TESTAUSGABEN, dann wirst du sehen, dass es so ist!

                    OffTopic:
                    Sorry, dass ich schreien musste, aber ich habs dir schon so oft gesagt und du ignorierst es einfach.

                    Wenn du Hinweise nicht ernst nimmst, dann erwarte nicht, dass man dir hier weiter hilft!

                    Kommentar


                    • #25
                      Sorry, aber:

                      Was meinst du mit Testausgaben, selbst wenn ich in der if-Bedingung alles auskommentiere und nur

                      echo "Test";

                      mache, krieg ich den Fehler...Ich weiss nicht, was du meinst...
                      Auch auf die Gefahr hin, daß das hier nicht erwünscht ist, aber ich geb euch jetzt das komplette Script:

                      PHP-Code:
                      <?php
                          $db_host 
                      "localhost";
                          
                      $db_user "root";
                          
                      $db_pass "cx04april+";
                          
                      $database "asctest";

                          
                      $db = @mysql_connect($db_host,$db_user,$db_pass) or die (mysql_error());
                          @
                      mysql_select_db($database,$db) or die (mysql_error());
                          
                      $result = @mysql_query("SELECT model FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $model $row[0];
                          
                      $result = @mysql_query("SELECT name FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $name $row[0];
                          
                      $result = @mysql_query("SELECT unit FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $unit $row[0];
                          
                      $result = @mysql_query("SELECT price FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $price $row[0];
                          
                      $result = @mysql_query("SELECT mech_time FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $mech_time $row[0];
                          
                      $result = @mysql_query("SELECT el_time FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $el_time $row[0];
                          
                      $result = @mysql_query("SELECT div_time FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $div_time $row[0];
                          
                      $result = @mysql_query("SELECT mech_price FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $mech_price $row[0];
                          
                      $result = @mysql_query("SELECT el_price FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $el_price $row[0];
                          
                      $result = @mysql_query("SELECT div_price FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $div_price $row[0];
                          
                      $result = @mysql_query("SELECT cable_length FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $cable_length $row[0];
                          
                      $result = @mysql_query("SELECT cable_price FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
                          
                      $row = @mysql_fetch_row($result);
                          
                      $cable_price $row[0];

                          if (isset(
                      $edit_item_VAR)) 
                          {
                              echo 
                      "<h1>";
                              echo 
                      "Bearbeitungsmodus für Artikel $edit_item_VAR - $model";
                              echo 
                      "</h1>";    
                          }
                          
                          if (
                      $gesendet == "true")
                              {
                                  echo 
                      "TEST"
                              
                      # $sql = "UPDATE item SET name = '".$_POST['name']."' WHERE id = '$edit_item_VAR'";
                                  # mysql_query($sql);
                              
                      }
                          
                      ?>
                      <html>
                      <style type="text/css">
                      <!--
                       h1 { font-family:"Arial Narrow"; font-size:15pt; line-height:15pt; font-weight:italic; }
                       body { font-family:"Arial Narrow"; font-size:10pt; line-height:10pt; }
                       table { font-family:"Arial Narrow"; font-size:10pt; line-height:10pt; }
                       tr { font-family:"Arial Narrow"; font-size:10pt; line-height:10pt; }
                       td { font-family:"Arial Narrow"; font-size:10pt; line-height:10pt; }
                       input { font-family:"Arial Narrow"; font-size:10pt; line-height:10pt; }
                       a:link { text-decoration:none; font-weight:bold; color:#FFFFFF; }
                       a:visited { text-decoration:none; font-weight:bold; color:#FFFFFF; }
                       a:hover { text-decoration:none; font-weight:bold; background-color:#FFFFFF; }
                       a:active { text-decoration:none; font-weight:bold; background-color:#FFFFFF; }
                      -->
                      </style>
                      <head>
                      <title>Artikel bearbeiten</title>
                      </head>
                      <body>    
                      <br><br><hr>
                      <form method="POST" action="<?php echo $PHP_SELF ?>?gesendet=true">
                      <table cellspacing='2' cellpadding='5'>
                      <tr><td>Artikelnummer</td><td> <input type="text" name="id" value="<?php echo $edit_item_VAR ?>"></td></tr>
                      <tr><td>Modell</td><td> <input type="text" name="model" value="<?php echo $model ?>"></td></tr>
                      <tr><td>Beschreibung</td><td> <input type="text" name="name" value="<?php echo $name ?>"></td></tr>
                      <tr><td>Einheit</td><td> <input type="text" name="unit" value="<?php echo $unit ?>"></td></tr>
                      <tr><td>Preis</td><td> <input type="text" name="unit" value="<?php echo $price ?>"></td></tr>
                      <tr><td>Mechanische Rüstzeit (min)</td><td> <input type="text" name="mech_time" value="<?php echo $mech_time ?>"></td>
                      <td>Minutenpreis</td><td><input type="text" size='10' name="mech_price" value="<?php echo $mech_price ?>"></td></tr>
                      <tr><td>Elektrische Rüstzeit (min)</td><td> <input type="text" name="el_time" value="<?php echo $el_time ?>"></td>
                      <td>Minutenpreis</td><td><input type="text" size='10' name="el_price" value="<?php echo $el_price ?>"></td></tr>
                      <tr><td>Sonstige Rüstzeit (min)</td><td> <input type="text" name="div_time" value="<?php echo $div_time ?>"></td>
                      <td>Minutenpreis</td><td><input type="text" size='10' name="div_price" value="<?php echo $div_price ?>"></td></tr>
                      <tr><td>Benötigtes Kabelmaterial (m)</td><td> <input type="text" name="cable_length" value="<?php echo $cable_length ?>"></td>
                      <td>Meterpreis</td><td><input type="text" size='10' name="cable_price" value="<?php echo $cable_price ?>"></td></tr>
                      </table>
                      <br><br>
                      <input type="submit" value="Änderungen annehmen">
                      </form>
                      <a href="item_base.php">Zurück</a>
                      </body>
                      </html>
                      ***Wer mag schon Signaturen?***

                      Kommentar


                      • #26
                        Es ist nicht erwünscht! Erstrecht nicht Mit horizontalem Scrollbalken! Siehe Forumregeln!

                        Du hast doch mitlererweile begriffen, dass die Fehlermeldung von einer anderen Query kommt. oder ? Also ist diese Fehlermeldung soweit erstmal irrelevant.

                        Dann sagst du, wenn du alles auskommentierst (in der if) (warum auch immer) und dann echo Test machst, dann kommt trotzdem nichts anderes. Spätestens jetzt solltest du (unterstützt von diversen Hinweisen hier im Thread) auf die Idee kommen, dass die if-bedingung nicht erfüllt wird. Ich glaube, das habe ich dir sogar GENAU SO bereits gepostet. Könnte man also verstehen.

                        So. und jetzt machst du mal eine TESTAUSGABE (Das wort kommt von "Test" -> testen und "Ausgabe" -> ausgenen). und überprüfts die if-bedingung in dem du mal die variable ausgibst.

                        Um mir eine Antwort zu sparen, weise ich jetzt schon provisorisch auf register_globals hin. (provisorisch deshalb, weil in der richtung schon gearbeitet wurde, was aber angeblich keine besserung gebracht hat.

                        ---

                        da das aber nicht dein einziges problem ist, sondern du ja vermutlich die selectquery, die ebenfalls vermutlich irgendwo im code versteckt ist, auch defekt hast, kannst du die direkt mit reparieren, weil sonst die vorgegebenen werte nicht im formular stehen. wenn dem so ist, dann hatte ich da übrigens auch schon drauf hingewiesen.

                        ---

                        falls das alles nichts hilft, dann schicke ich dem Happy ne PM, der hatte mit Jhitstone schon so mansche erfahrung.

                        Kommentar


                        • #27
                          Ich würd an deiner Stelle mal deinen Code optimieren. Die Abfrage da oben kann man im Drittel der Zeilen abhandeln

                          Dann ist es auch übersichtlicher.

                          Kommentar


                          • #28
                            du meinst in nem zwölftel...

                            Kommentar


                            • #29
                              Naja, wenn man die while Schleife schön einrückt unso, dann kommt auf ein nen Drittel. Aber der wievielte Teil ist ja auch wurscht, hauptsache es wird übersichtlicher.
                              Bei dem Code da oben würde ich als Datenbank ausflippen.

                              Ich kann meiner Freundin ja auch mal sagen: Ich hätte gerne 12 Flaschen Bier, aber bitte jede einzeln anschleppen.

                              Kommentar


                              • #30
                                OffTopic:
                                @freundin: sollte zumindest in kleineren teilen sein, denn wenn ich die 11. aushabe, hat die 12. schon ein zwei grad mehr. deswegen lieber öfters gehen.

                                Kommentar

                                Lädt...
                                X