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: Meldung nach Ablauf der Session Time bei Kunden

    TeeBlume

    • Fördermitglied
    • Beiträge: 71
    • Geschlecht:
    Hallo,

    Es kommt immer mal wieder vor, das Kunden nach Ablauf der Session aus dem aktuellen Bestellprozess rausgeworfen werden und dann nicht wissen, das sie sich neu anmelden müssen, um den Einkauf fortzusetzen. Es fehlt ein entsprechender Hinweis.

    Hier mal mein Vorschlag für V1.0.6

     ../includes/header.php
     suchen:
    Code: PHP  [Auswählen]
    </head>
    <body<?php if(strstr($PHP_SELF, FILENAME_POPUP_IMAGE )) echo ' onload="resize();"'; ?>>
    <?php
    ersetzen:
    Code: PHP  [Auswählen]
    </head>
    <?php
    if(strstr($PHP_SELF, FILENAME_POPUP_IMAGE )) {
      echo '<body onload="resize();"';
    }
    else {
      echo '<body>';
      $maxlifetimeminutes = floor($SESS_LIFE / 60);
      if(isset($_SESSION['customer_id'])) {
            echo '<meta http-equiv="refresh" content="'.$SESS_LIFE.';url='.xtc_href_link(FILENAME_LOGIN, 'info_message='.urlencode(sprintf(WARNING_SESSION_TIMEOUT, $maxlifeminutes))).'"/>';
      }
    }
    ?>

    Meldung für WARNING_SESSION_TIMEOUT
    ../lang/german/german.php
    einfügen nach
    Code: PHP  [Auswählen]
    define('WARNING_DOWNLOAD_DIRECTORY_NON_EXISTENT', 'Warnung: Das Verzeichnis f&uuml;r den Artikel Download existiert nicht: ' . DIR_FS_DOWNLOAD . '. Diese Funktion wird nicht funktionieren bis das Verzeichnis erstellt wurde!');
    das hier:
    Code: PHP  [Auswählen]
    define('WARNING_SESSION_TIMEOUT', 'Sie wurden aus Sicherheitsgr&uuml;nden nach XX Minuten abgemeldet. Bitte melden Sie sich erneut an.');

    für die anderen Sprachen ergänzen.

    Die Meldung sieht dann so aus: [ Für Gäste sind keine Dateianhänge sichtbar ]

    Noch ein Hinweis:
    Im Admin ist unter --> Erweiterte Konfiguration --> Sessions bei: Session Lebenszeit Kunden = 1440 die Zeitdauer als Minimum vorgegeben.
    Will man das Ganze testweise verkürzen, bitte in der
    ../admin/includes/configuration_limits.php den Wert für 'min' hier ändern
    Code: PHP  [Auswählen]
     $value_limits['SESSION_LIFE_CUSTOMERS'] = array('min' => 1440, 'max' => 14400);

    Was mir noch nicht klar ist, welchen Einfluß die Werte in der sessions.php haben?
    Bei mir klaptt's mit der Änderung im Admin.
    ../includes/functions/session.php
    Code: PHP  [Auswählen]
    @ini_set("session.gc_maxlifetime", 1440);
      ...
      if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
          $SESS_LIFE = 1440;
              ...

    Vielleicht findet jemand erklärende Worte.
    Grüße
    TeeBlume

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

    phpGuru

    • Frisch an Board
    • Beiträge: 94
    Re: Meldung nach Ablauf der Session Time bei Kunden
    Antwort #1 am: 24. März 2013, 00:37:06
    Hallo TeeBlume

    hab den redirect für Kunden eingebunden und funktioniert wunderbar. Der Kunde bekommt einen Hinweis angezeigt und steht nicht wie doof da, wenn er sich neu anmelden muss.

    Sehr nützliches Tool

    Danke für dein sharen

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Meldung nach Ablauf der Session Time bei Kunden
    Antwort #2 am: 26. März 2013, 05:50:33
    Hi TeeBlume, auch von mir mal ein Danke für den Vorschlag.

    Wenn die Zeit noch richtig angezeigt werden soll, müsste man noch folgendes ändern.

    Code: PHP  [Auswählen]
    $maxlifetimeminutes = floor($SESS_LIFE / 60);
     
    in
    Code: PHP  [Auswählen]
    $maxlifeminutes = floor($SESS_LIFE / 60);
     
    und
    Code: PHP  [Auswählen]
        define('WARNING_SESSION_TIMEOUT', 'Sie wurden aus Sicherheitsgr&uuml;nden nach XX Minuten abgemeldet. Bitte melden Sie sich erneut an.');
    in
    Code: PHP  [Auswählen]
        define('WARNING_SESSION_TIMEOUT', 'Sie wurden aus Sicherheitsgr&uuml;nden nach %s Minuten abgemeldet. Bitte melden Sie sich erneut an.');

    2 Antworten
    1529 Aufrufe
    15. Februar 2016, 21:52:28 von einfach112
    0 Antworten
    1719 Aufrufe
    23. September 2015, 07:37:32 von robertko