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: Fehlermeldung beim Login (nur manche Browser) und bei der Artikelanlage

    seth9146

    • Neu im Forum
    • Beiträge: 23
    Hallo zusammen,

    eine Kundin machte mich gestern auf ein Login-Problem aufmerksam, dass ich so nicht bemerkt hatte, da es bei mir im Chrome nicht auftaucht.
    Ein registrierter Kunde, der sich erneut anmelden möchte erhält im IE und im Safari (bei Firefox und Chrome scheint es zu klappen - Opera ist nicht getestet) folgende Fehlermeldung:

    Warning: Illegal string offset 'host' in /home/www/irbis-tinte/inc/xtc_write_user_info.inc.php on line 23

    Warning: Illegal string offset 'host' in /home/www/irbis-tinte/inc/xtc_write_user_info.inc.php on line 25

    Warning: Illegal string offset 'path' in /home/www/irbis-tinte/inc/xtc_write_user_info.inc.php on line 25

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/irbis-tinte/inc/xtc_write_user_info.inc.php:23) in /home/www/irbis-tinte/inc/xtc_redirect.inc.php on line 32

    Da ich (fast) ausschließlich den Chrome benutze, habe ich den Fehler nie bemerkt, allerdings bekomme ich auch im Admin beim Kopieren eines Artikels eine Fehlermeldung (bin nicht sicher, ob das zusammen gehört, scheint aber ein zumindest ähnlicher Fehler zu sein):

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/www/irbis-tinte/inc/xtc_db_fetch_array.inc.php on line 44

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/irbis-tinte/inc/xtc_db_fetch_array.inc.php:44) in /home/www/irbis-tinte/admin/includes/functions/general.php on line 200

    Gehe ich zurück und aktualisiere die Artikelübersicht, so hat das Kopieren dennoch geklappt...

    Hat jemand eine Idee, was das sein könnte?

    Vielen Dank schon mal im Voraus,

    Ingo

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

    ChristianRothe

    • Mitglied
    • Beiträge: 187
    Warning: Illegal string offset 'host' in /home/www/irbis-tinte/inc/xtc_write_user_info.inc.php on line 23

    Warning: Illegal string offset 'host' in /home/www/irbis-tinte/inc/xtc_write_user_info.inc.php on line 25

    Warning: Illegal string offset 'path' in /home/www/irbis-tinte/inc/xtc_write_user_info.inc.php on line 25
    Diese Fehlermeldungen entstehen, weil der Programmcode versucht, auf ein Array zuzugreifen, was nicht als Array definiert ist. Die Funktion xtc_write_user_info sollte wie im folgenden Code-Schnipsel aussehen. Vermutlich fehlen in der von Dir verwendeten Version dieser Funktion noch die isset-Abfragen.

    Code: PHP  [Auswählen]
      function xtc_write_user_info($customer_id) {

          $sql_data_array = array('customers_id' => $customer_id,
                                  'customers_ip' => $_SESSION['tracking']['ip'],
                                  'customers_ip_date' => 'now()',
                                  'customers_host' => isset($_SESSION['tracking']['http_referer']['host']) ? $_SESSION['tracking']['http_referer']['host'] : '',
                                  'customers_advertiser' => isset($_SESSION['tracking']['refID']) ? $_SESSION['tracking']['refID'] : '',
                                  'customers_referer_url' => isset($_SESSION['tracking']['http_referer']['host']) ? $_SESSION['tracking']['http_referer']['host'].$_SESSION['tracking']['http_referer']['path'] : '',
                                  );

          xtc_db_perform(TABLE_CUSTOMERS_IP, $sql_data_array);
        return -1;
      }
     

    Aber natürlich ist die Verwendung von isset nur ein Herumdoktern an Symptomen ist. Wenn Du die Entstehungsursache des Problems eliminieren willst, muss Du was an der /includes/tracking.php ändern. Tausche einfach die ALLERERSTE Programmzeile.

    Programmzeile ALT und FALSCH:
    Code: PHP  [Auswählen]
    $ref_url = '';

    Programmzeile KORRIGIERT:
    Code: PHP  [Auswählen]
    $ref_url = array();

    Die Fehler haben nicht direkt mit dem Browser des Nutzers zu tun sondern viel mehr damit, wie serverseitig manche Variablen über den Nutzer auswertet und behandelt. Sie entstehen übrigens auch deshalb, weil Du eine ÄLTERE SHOP-VERSION verwendest, die nicht ganz kompatibel zu den Eigenheiten neuerer PHP-Versionen ist. Hier solltest Du ein Update erwägen.

    seth9146

    • Neu im Forum
    • Beiträge: 23
    Hallo Christian,

    ganz vielen Dank für die schnelle Antwort.

    Für´s Login scheint das schonmal (und das ist natürlich auch für die Kunden das Wichtigste) geklappt zu haben. Ich kann den Fehler (bei mir) nicht mehr reproduzieren.

    Insofern schon mal klasse...

    Beim Kopieren von Artikel habe ich immer noch Fehler:

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/www/irbis-tinte/inc/xtc_db_fetch_array.inc.php on line 44

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/irbis-tinte/inc/xtc_db_fetch_array.inc.php:44) in /home/www/irbis-tinte/admin/includes/functions/general.php on line 200

    damit könnte ich aber zur Not leben...

    Das mit dem Update ist auch so eine Sache... Ich hatte zunächst Schwierigkeiten, das verwendete Template ordentlich zum Laufen zu bekommen und heilfroh, dass im Prinzip alles läuft. Insofern bin ich da ein wenig übervorsichtig.

    Dennoch, ganz vielen Dank für die Hilfe und viele Grüße

    Ingo

    ChristianRothe

    • Mitglied
    • Beiträge: 187
    Was steht denn in Deiner Shop-Version in /admin/includes/functions/general.php in Programmzeile 200? Poste doch einfach mal hier die gesamte Funktion, in der diese betroffene Zeile vorkommt.

    seth9146

    • Neu im Forum
    • Beiträge: 23
    Hallo nochmal,

    hier die entsprechende Funktion der general.php:

    // Redirect to another page or site
      /**
       * xtc_redirect()
       *
       * @param mixed $url
       * @return
       */
      function xtc_redirect($url) {
        global $logger;
        header('Location: '.$url);
        if (STORE_PAGE_PARSE_TIME == 'true') {
          if (!is_object($logger))
            $logger = new logger;
          $logger->timer_stop();
        }
        exit;
      }

    (Hoffe, das ist die richtige Funktion, habe von Zeile 191 bis 207 kopiert...)

    Und nochmals vielen Dank,

    Ingo
    5 Antworten
    3092 Aufrufe
    29. August 2014, 13:36:49 von jannemann
    5 Antworten
    2508 Aufrufe
    30. September 2013, 14:54:40 von voodoopupp