v2.0.x Verwirrende Anzeige von Konfigurationsänderungen bei eingeschaltetem Cache

Thema wurde von Avenger, 2. April 2013 erstellt.

  1. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Ich hatte ja schon mal berichtet, das man manche Konfigurationsänderungen 2 mal ausführen muss, bis sie sichtbar werden.

    Habe das jetzt am Beispiel der "admin/gm_offline.php" mal debugged, und herausgefunden, dass das mit dem Cache zu tun hat....

    Dort werden mit
    PHP:
    if(isset($_POST['go'])) {
        
    xtc_db_query("UPDATE gm_configuration SET gm_value = '" $_POST['shop_offline']. "' WHERE gm_key = 'GM_SHOP_OFFLINE'");
        
    xtc_db_query("UPDATE gm_configuration SET gm_value = '" $_POST['offline_msg'] . "' WHERE gm_key = 'GM_SHOP_OFFLINE_MSG'");
    }
    die neuen Daten gespeichert.

    Im weiteren Verlauf werden diese Daten aber mit

    PHP:
                                            <form name="img_upload" action="gm_offline.php" method="post" enctype="multipart/form-data">
                                            <input type="checkbox" name="shop_offline" value="checked" <?php echo gm_get_conf('GM_SHOP_OFFLINE'); ?>>
                                            <?php echo GM_SETTINGS_OFFLINE ?><br><br>

                                            <?php echo GM_SETTINGS_OFFLINE_MSG ?>:<br />
                                            <?php
                                            
    require_once(DIR_FS_ADMIN 'gm/fckeditor/fckeditor.php');
                                            
    $oFCKeditor = new FCKeditor('offline_msg');
                                            
    $oFCKeditor->BasePath    DIR_WS_ADMIN 'gm/fckeditor/';
                                            
    $oFCKeditor->Height 150;
                                            
    $oFCKeditor->Width 500;
                                            
    $oFCKeditor->Value gm_get_conf('GM_SHOP_OFFLINE_MSG');
                                            
    $oFCKeditor->ToolbarSet "Small";
                                            
    $oFCKeditor->Config["DefaultLanguage"] = $_SESSION['language_code'];
                                            
    $oFCKeditor->Create();
                                            
    ?>

                                            <br>
                                            <br>
                                            <?php echo '<input type="submit" name="go" class="button" onClick="this.blur();" value="' BUTTON_SAVE '"/>'?>
                                            </form>
    angezeigt, wobei die Daten mit

    PHP:
    gm_get_conf('GM_SHOP_OFFLINE')
    und

    PHP:
    gm_get_conf('GM_SHOP_OFFLINE_MSG')
    ausgelesen werden.

    "gm_get_conf" verwendet aber die alten vorhandenen Daten, so dass man die neu eingetragenen nicht sieht.

    Erst beim erneuten absenden der Daten (oder erneutem Aufruf dieser Funktion) werden die neuen Daten sichtbar.