rechtstexte für onlineshop
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: SQL Fehler wenn als Admin Artikel aus Kundenbestellung gelöscht werden

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Hi,
    wenn ich bei einer bestehenden Kundenbestellung im Admin auf bearbeiten (der bestellten Waren) gehe, und dann bei einem Artikel auf Löschen erhalte ich folgende Fehlermeldung:

    Code: SQL  [Auswählen]
    1064 - 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 'WHERE products_id = 0' at line 1

    UPDATE products SET products_quantity = products_quantity + WHERE products_id = 0

    [XT SQL Error]
    wenn ich dann im Browser auf zurück gehe, hat er den Artikel korrekt gelöscht....

    Wo liegt der Fehler?



    Linkback: https://www.modified-shop.org/forum/index.php?topic=12679.0
    Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.371
    • Geschlecht:
    Was mich ein wenig wundert ist das "WHERE products_id = 0". :?

    Grüße

    Torsten

    DerNachbar

    • Viel Schreiber
    • Beiträge: 538
    Das kann ich so bestätigen. Das kenne ich. Kunde wünscht Artikel X nicht mehr oder möchte X mit Y ersetzen. Ich lösche Artikel X und obige Meldung kommt. Habe mich daran gewöhnt, weil das Ergebnis ja das richtige ist.

    Was mich immernoch wurmt, ist das er beim nachträglichen Bearbeiten aus "inkl. 19% MwSt." ein einfaches "19% MwSt." macht. Das "inkl." ist dann futsch und man bekommt es nicht wieder. Auch nicht wenn man versucht das Feld zu editieren.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.371
    • Geschlecht:
    Ich bin mir sicher, dass wir das schon in der "/admin/orders_edit.php" korrigiert hatten, nur weiss ich gerade nicht mehr die Stelle.

    Ihr könnt ja mit der Version aus dem Trunk mal testen: "/admin/orders_edit.php"

    Grüße

    Torsten

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Hallo Torsten,

    das hab ich gerade ausprobiert, leider keine Änderung, es kommt immer noch exakt der gleiche Fehler.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.371
    • Geschlecht:
    Dann muss ich erstmal passen, vielleicht hat aber noch jemand anders eine Idee dazu? :?

    Grüße

    Torsten

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Könnt ihr das Problem im modified eCommerce Shopsoftware 1.05 Demoshop nachstellen ?

    Bcoola

    • Schreiberling
    • Beiträge: 412
    Hi,

    hab es gerade ausprobiert, da tritt der Fehler nicht auf...

    DerNachbar

    • Viel Schreiber
    • Beiträge: 538
    Dem Stimme ich zu. Kein Fehler im Demoshop. Kann es an einer anderen "orders_edit.php" liegen? Im Demoshop gefällt mir die Aufmachung auch besser wenn man eine Bestellung aufruft. Frischer, schöner. Kriege ich das Design nachträglich in modified eCommerce Shopsoftware 1.04 rein?

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.371
    • Geschlecht:
    [...] Kriege ich das Design nachträglich in modified eCommerce Shopsoftware 1.04 rein?

    Ja, indem du deinen Shop auf modified eCommerce Shopsoftware 1.05 aktualisierst: ANLEITUNG: modified eCommerce Shopsoftware v1.0x auf v1.0y aktualisieren

    Grüße

    Torsten

    DerNachbar

    • Viel Schreiber
    • Beiträge: 538
    So ziemlich an dieser Stelle kneife ich aus Ehrfurcht vor meiner Dusseligkeit. Den laufenden Shop wollte ich nicht absegeln lassen. Ausserdem habe ich eine Fülle an Modulen verbaut wo es mir graut diese per WinMerge abzugleichen. Und schon gefällt mir das alte Design wieder.  :D

    ut2k3

    • Moderator
    • Beiträge: 496
    • Geschlecht:
    Das liegt daran, dass in eurer Version was fehlt, das im Trunk schon repariert ist.

    Also "orders_edit.php" Zeile 573:

    Code: PHP  [Auswählen]
    xtc_db_query("UPDATE ".TABLE_PRODUCTS." SET products_quantity = products_quantity + ".xtc_db_input($_POST['del_qty'])." WHERE products_id = " . (int)$_POST['del_pID']);
    Wenn ich nen grep mache gibt es kein Input-Field oder eine manuelle Zuweisung von $_POST['del_qty'] und damit failed diese SQL-Abfrage wegen einer Fehlenden Zahl. Auch fehlt $_POST['del_pID'] ;)

    Ich weiss nicht ob das zu 100% korrekt ist, aber das sollte helfen:

    Code: PHP  [Auswählen]
      $del_qty = (isset($_POST['products_quantity']))? xtc_db_input($_POST['products_quantity']) : 0;
      xtc_db_query("UPDATE ".TABLE_PRODUCTS." SET products_quantity = products_quantity + ".$del_qty." WHERE products_id = " . (int)$_POST['products_id']);
     
    Rob

    web28

    • modified Team
    • Beiträge: 9.404
    Im Trunk wurden von mir bei der Bestellbearbeitung im Admin eine Menge Sachen gefixt.

    Diese Änderungen werden auch im 1.05 SP1 enthalten sein. Das Paket enthält auch eine Dateiliste für die einzelnen Änderungen. Damit kann man dann z.B. nur die Dateien für die Admin Bestellbearbeitung selber austauschen.
    Ob das auch bei Versionen <1.05 funktioniert, muss aber jeder selber testen.

    Gruss Web28

    ut2k3

    • Moderator
    • Beiträge: 496
    • Geschlecht:
    Einen Vorschlag hab ich für den Trunk:

    Zeile 140:

    Code: PHP  [Auswählen]
    echo '<input type="submit" class="button" onclick="this.blur();" value="' . BUTTON_EDIT . '"/>';
     
    "BUTTON_EDIT" durch "BUTTON_INSERT" ersetzen.

    Ein weiterer Vorschlag, was die Geschichte evtl. intuitiver macht. Meine Kunden blicken das oft nicht wie man wieder zurück kommt und speichern die Bestellung und gehen dann wieder auf "Bearbeiten". Abhilfe (und glücklichere User) hat in meiner custom-Version folgendes geschaffen:

    Nach dem "Neu berechnen"-Button in der orders_edit.php  nach Zeile 1084 folgendes einfügen:

    Code: PHP  [Auswählen]
    if (isset($_GET['edit_action'])) {
    echo '   ';
    echo '<a class="button" onclick="this.blur();" href="'.xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=products&oID='.(int)$_GET['oID']).'">'.BUTTON_BACK.'</a>';
    }
     
    Rob

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.371
    • Geschlecht:
    Wir schauen uns das mal an und entscheiden dann. :)

    Grüße

    Torsten

               
    anything