Ankündigung

Einklappen
Keine Ankündigung bisher.

Datensatz mit formular Updaten

Einklappen

Neue Werbung 2019

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

  • Datensatz mit formular Updaten

    Ich hab hier ein kleines Problem und zwar möchte einen Datensatz in einem Formular ändern

    PHP-Code:
    <?php
      
    include("config/mysqldb.php");
      
    $db->query("SELECT titel,hersteller,preis,mwst,menge FROM `warenkorb` WHERE `sid` LIKE '"session_id() ."'");
      while (list(
    $titel,$hersteller,$preis,$mwst,$menge) = $db->data())
      {
          echo(
    "<form action=\"shop/update.php\" method=\"post\" name=\"form\">");
        echo(
    "<table width=\"530\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" class=\"table\">");
        echo(
    "<tr>");
        echo(
    "<input type=\"hidden\" name=\"sid\" value=" session_id() ." />");
        echo(
    "<input type=\"hidden\" name=\"artikel_id\" value=\"$artikel_id\" />");
        echo(
    "<input type=\"hidden\" name=\"titel\" value=\"$titel\" />");
        echo(
    "<input type=\"hidden\" name=\"hersteller\" value=\"$hersteller\" />");
        echo(
    "<input type=\"hidden\" name=\"preis\" value=\"$preis\" />");
        echo(
    "<input type=\"hidden\" name=\"mwst\" value=\"$mwst\" />");
        echo(
    "<td><input type=\"text\" name=\"menge\" value=\"$menge\" /><input type=\"image\" src=\"layout/aendern.gif\" name=\"senden\"></td>");
        echo(
    "<td>$titel</td>");
        echo(
    "<td align=\"right\">$preis Euro</td>");
        echo(
    "</tr><tr>");
        echo(
    "<td><img src=\"layout/art_loesch.gif\" /></td>");
        echo(
    "<td>enthaltene MwSt: $mwst %</td>");
        echo(
    "<td></td>");
        echo(
    "</tr>");
        echo(
    "</table>");
        echo(
    "</form>");
        echo(
    "
    "
    );
      }
    ?>
    Und hier die Upadte.php

    PHP-Code:
    <?php
       header
    ("Location: ../index.php?page=warenkorb.php");
      if (
    strlen($sid=trim($sid))==0)
       die (
    "sid fehlt.");
      if (
    strlen($artikel_id=trim($artikel_id))==0)
       die (
    "artikel_id fehlt.");
      if (
    strlen($titel=trim($titel))==0)
       die (
    "titel fehlt.");
      if (
    strlen($hersteller=trim($hersteller))==0)
       die (
    "hersteller fehlt.");
      if (
    strlen($preis=trim($preis))==0)
       die (
    "preis fehlt.");
      if (
    strlen($mwst=trim($mwst))==0)
       die (
    "mwst fehlt.");
      if (
    strlen($menge=trim($menge))==0)
       die (
    "menge fehlt.");
        include(
    "../config/mysqldb.php");
      
    $db->query("UPDATE `warenkorb` SET `menge` = '$menge' WHERE `sid` = '"session_id() ."'");
       exit();
    ?>
    Ich hab keine Ahnung warum es nicht klapt kann mir jeman Bitte Helfen ?


  • #2
    Wenn Du Upadte.php mit einer http Umleitung beginnen läßt,hast Du keine Möglichkeit mehr, Fehlermeldungen zu sehen.
    Was ist $db? Gibt es dafür auch eine Fehlerbehandlung?
    Skript mit
    PHP-Code:
    error_reporting(E_ALL);
    ini_set('display_errors'true); 
    beginnen lassen.
    PHP-Code:
    <?php phpinfo(); ?>
    nach dem Wert von register_globals befragen.

    Kommentar


    • #3
      Die register_globals ist auf ON

      Hab die Weiterleitung entfernt für erste. Eine Fehlermeldung kommt nicht.
      Das $dm steht in verbinung mit meiner config.php um eine Verbindung mit meiner Datenbank zu erstellen.

      PHP-Code:
      <?php
        
      class mysql_db
        
      {
            var 
      $link false// Speichert die Verbindungs-ID zur Datenbank
          
      var $resid false// Speichert die Ressourcen-ID des letzten Aufrufs von mysql_query()
          
      var $doerror false// Hat den Wert True, wenn die Klasse Fehlermeldungen ausgeben soll
          
      var $host "#"// Hostname der MySQL-Datenbank
          
      var $user "#"// Benutzername
          
      var $passwd "#"// Passwort
          
      var $tables "#"// Datenbankname
        
      function connect()
      // Verbindet zur Datenbank
      {
      $temp = @mysql_connect
      ($this->host$this->user$this->passwd);
      if (!
      $temp
      {
      $this->echoerror();
      return 
      false;
      }
      $this->link $temp;
      $temp = @mysql_select_db($this->tables$temp);
      if (!
      $temp
      {
      $this->echoerror();
      return 
      false;
      }
      return 
      $this->link;
      }

      function 
      query($sql)
      // Sendet eine Anfrage an die Datenbank 
      {
      if (!
      $this->link
      {
      if (
      $this->doerror
      {
      echo (
      "[b]Nicht verbunden.[/b]
      "
      );
      return 
      false;
      }
      }
      if (
      $this->resid) @mysql_free_result($this->resid);
      $result mysql_query($sql$this->link) or die(mysql_error().': '.$sql);
      if (!
      $result$this->echoerror();
      $this->resid $result;
      return 
      $result;
      }

      function 
      echoerror()
      // erzeugt eine Fehlerausschrift
      // wenn $doerror=TRUE
      {
      if (!
      $this->doerror) return;
      if (!
      mysql_errno()) return;
      echo (
      "<font color=\"red\">[b]" mysql_errno());
      echo (
      ": "mysql_error() ." [/b]</font>
      "
      );
      }

      function 
      data()
      // liefert einen Datensatz
      {
      if (!
      $this->link)
      {
      if (
      $this->doerror)
      echo (
      "[b]Nicht verbunden![/b]
      "
      );
      return 
      false;
      }
      if (!
      $this->resid)
      {
      if (
      $this->doerror
      echo (
      "[b]Keine Abfrage![/b]
      "
      );
      return 
      false;
      }
      $result mysql_fetch_array($this->residMYSQL_BOTH);
      $this->echoerror();
      return 
      $result;
      }

      function 
      echoquery($sql)
      //Fragt die Datenbank ab und stellt die Abfrage dar
      {
      $this->query($sql);
      echo(
      "<table border cellpadding=\"3\"><tr>");
      $index 0;
      echo(
      "<th>record</th>");
      while (
      $field mysql_fetch_field($this->resid))
      echo(
      "<th>$field->name</th>");
      echo (
      "</tr>\n");
      $rec=0;
      while (
      $row $this->data())
      {
      $rec++;
      echo(
      "<tr><td>$rec</td>");
      for (
      $i=0$i<mysql_num_fields($this->resid); $i++)
      echo(
      "<td>".htmlentities($row[$i])."</td>");
      echo(
      "</tr>\n");
      }
      echo (
      "</table>");
      }

      function 
      set_doerror($boolvalue)
      {
      $this->doerror $boolvalue;
      }


      function 
      mysql_db()
      // Construktor
      {
      $this->connect();
      }
      }
      $db = new mysql_db;
      ?>

      Kommentar


      • #4
        Wie sieht der Query-String interpretiert aus? (PHP Variablen bereits interpretiert)
        Was meldet phpMyAdmin wenn du diesen Query-String dort eingibst?

        Kommentar


        • #5
          Danke, für den Tip. Hab denn Fehler gefunden der Datensatz konnte nicht identifieziert werden.

          Kommentar

          Lädt...
          X