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: falsches Query in der /admin/accounting.php

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    falsches Query in der /admin/accounting.php
    am: 26. Juli 2011, 14:35:54
    Da ich im Moment an einem neuen Backend dran sitze, ist mir soeben diese Klinke aufgefallen in der "/admin/accounting.php".

    Code: PHP  [Auswählen]
    if ($admin_access == '') {
            xtc_db_query("INSERT INTO " .TABLE_ADMIN_ACCESS. " (customers_id) VALUES ('" .(int)$_GET['cID']. "')");
            $admin_access_query = xtc_db_query("SELECT * FROM " . TABLE_ADMIN_ACCESS . " WHERE customers_id = '" .(int)$_GET['cID']. "'");
            $group_query = xtc_db_query("SELECT * FROM " .TABLE_ADMIN_ACCESS. " WHERE customers_id = 'groups'");
            $group_access = xtc_db_fetch_array($admin_access_query);
            $admin_access = xtc_db_fetch_array($admin_access_query);
    }
     
    Müsste es nicht so heißen?

    Code: PHP  [Auswählen]
    if ($admin_access == '') {
            xtc_db_query("INSERT INTO " .TABLE_ADMIN_ACCESS. " (customers_id) VALUES ('" .(int)$_GET['cID']. "')");
            $admin_access_query = xtc_db_query("SELECT * FROM " . TABLE_ADMIN_ACCESS . " WHERE customers_id = '" .(int)$_GET['cID']. "'");
            $group_query = xtc_db_query("SELECT * FROM " .TABLE_ADMIN_ACCESS. " WHERE customers_id = 'groups'");
            $group_access = xtc_db_fetch_array($group_query);
            $admin_access = xtc_db_fetch_array($admin_access_query);
    }
    Der bisherige Code würde ja die Gruppenabfrage außer Kraft setzen.
    Sollte es wirklich ein Bug sein, dann stammt dieser noch von xt:Commerce und zieht sich selbst bis in die neuesten Forks durch.

    Gruß
    Ronny



    Linkback: https://www.modified-shop.org/forum/index.php?topic=14170.0

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    falsches Query in der /admin/accounting.php
    Antwort #1 am: 26. Juli 2011, 14:57:29
    Hi Ronny,

    ich würde das originalcoding

    Code: PHP  [Auswählen]
    [...]
                        $customers_id = xtc_db_prepare_input($_GET['cID']);
                        $admin_access_query = xtc_db_query("select * from " . TABLE_ADMIN_ACCESS . " where customers_id = '" . (int)$_GET['cID'] . "'");
                        $admin_access = xtc_db_fetch_array($admin_access_query);
                        $group_query=xtc_db_query("select * from " . TABLE_ADMIN_ACCESS . " where customers_id = 'groups'");
                        $group_access = xtc_db_fetch_array($group_query);
                        if ($admin_access == '') {
                          xtc_db_query("INSERT INTO " . TABLE_ADMIN_ACCESS . " (customers_id) VALUES ('" . (int)$_GET['cID'] . "')");
                          $admin_access_query = xtc_db_query("select * from " . TABLE_ADMIN_ACCESS . " where customers_id = '" . (int)$_GET['cID'] . "'");
                          $group_query=xtc_db_query("select * from " . TABLE_ADMIN_ACCESS . " where customers_id = 'groups'");
                          $group_access = xtc_db_fetch_array($admin_access_query);
                          $admin_access = xtc_db_fetch_array($admin_access_query);
                        }
    [...]
     
    ändern in

    Code: PHP  [Auswählen]
    [...]
                        $customers_id = xtc_db_prepare_input($_GET['cID']);
                        $admin_access_query = xtc_db_query("select * from " . TABLE_ADMIN_ACCESS . " where customers_id = '" . (int)$_GET['cID'] . "'");
                        $admin_access = xtc_db_fetch_array($admin_access_query);
                        if ($admin_access == '') {
                          xtc_db_query("INSERT INTO " . TABLE_ADMIN_ACCESS . " (customers_id) VALUES ('" . (int)$_GET['cID'] . "')");
                          $admin_access_query = xtc_db_query("select * from " . TABLE_ADMIN_ACCESS . " where customers_id = '" . (int)$_GET['cID'] . "'");
                          $admin_access = xtc_db_fetch_array($admin_access_query);
                        }
                        $group_query=xtc_db_query("select * from " . TABLE_ADMIN_ACCESS . " where customers_id = 'groups'");
                        $group_access = xtc_db_fetch_array($group_query);
    [...]
     
    Also den $group_query generell erst nach der if-Anweisung ausführen, damit er nur 1x gemacht wird und auch gleich die Änderung mitbekommen, sollte die Variable $admin_access tatsächlich leer sein.

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    falsches Query in der /admin/accounting.php
    Antwort #2 am: 26. Juli 2011, 14:59:29
    Die Anordnung wäre dann quasi die B-Note. Aber ansonsten liege ich richtig mit der Zuweisung des falschen Query?

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    falsches Query in der /admin/accounting.php
    Antwort #3 am: 26. Juli 2011, 15:00:04
    Ich meine ja!

    EDIT: Fixed in r2058

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    falsches Query in der /admin/accounting.php
    Antwort #4 am: 26. Juli 2011, 15:06:55
    Irgendwie geil immer wieder zu sehen, welche Krücken seit Urzeiten mitgeschleppt werden. Ich sage ja immer, das Backend wird immer stiefmütterlich behandelt. Es soll ja auch nur funktionieren.

    Bisher habe ich feststellen können, dass gerade im FF eine Performancesteigerung da ist, wenn endlich mal Schluß gemacht wird, mit den viel zu vielen und dazu noch unsinnig verschachtelten Tabellen. Immer schön sauber strukturieren und Tabellen nur dort einsetzen, wo sie wirklich nötig sind und schon läuft das Backend auch flüssiger.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    falsches Query in der /admin/accounting.php
    Antwort #5 am: 26. Juli 2011, 15:10:05
    Danke dir Ronny! :thx:

    Grüße

    Torsten

    5 Antworten
    2883 Aufrufe
    30. Dezember 2016, 18:40:52 von noRiddle (revilonetz)
    5 Antworten
    3231 Aufrufe
    08. Juli 2011, 13:17:21 von Tomcraft
    5 Antworten
    3555 Aufrufe
    06. April 2011, 09:18:58 von Tomcraft
    10 Antworten
    6899 Aufrufe
    28. Dezember 2011, 13:49:33 von Tomcraft
               
    anything