Antwort #22 am: 27. März 2013, 02:55:24
Also Bedingung zum Nachstellen des Problems:
- Direkteinstieg(ohne über einen Link auf den Shop zu gehen) oder deaktivierter Referrer
- die Datei _error_reporting
.all/.shop/.dev ist im export/ Verzeichnis vorhanden.
error_reporting(E_ALL & ~
E_NOTICE & ~
E_STRICT); //ex[c-vergessen?!]lude E_STRICT on PHP 5.4 <- steht da bestimmt nicht umsonst ;-) - Cookies bitte vorher entfernen oder einen anderen Browser verwenden.
tracking.php original:
$ref_url = '';if (isset($_SERVER['HTTP_REFERER']))$ref_url = parse_url($_SERVER['HTTP_REFERER']);if (!isset($_SESSION['tracked']) || (isset($_SESSION['tracked']) && $_SESSION['tracked'] != true)) { // if this visitor has not been tracked $_SESSION['tracking']['http_referer']= $ref_url; $_SESSION['tracked'] = true; // set tracked so they are only logged once} Mein Vorschlag, da $_SESSION['tracked'] sonst nirgends gebraucht wird.
$ref_url = parse_url((isset($_SERVER['HTTP_REFERER']) ?
$_SERVER['HTTP_REFERER'] : HTTP_SERVER
.$_SERVER['REQUEST_URI']));if (!isset($_SESSION['tracking']['http_referer'])) { // if this visitor has not been tracked $_SESSION['tracking']['http_referer']= $ref_url;} Diese Variante hat zwei Vorteile:
- $_SESSION['tracking']['pageview_history'] wird auf die aktuelle Seite statt der letzten bei deaktiviertem Referrer gesetzt, was man noch verbessern könnte.
- Wenn die URL direkt eingegeben wurde, wird diese statt keine dargestellt.
Die wie schon erwähnt hervorrufende Meldung kommt durch die Funktion xtc_write_user_info(), welche in folgenden Dateien verwendet wird:
- create_account.php
- includes/classes/paypal_checkout.php
- login.php
- xtbcallback.php
In allen Dateien wird die application_top.php geladen in welcher die includes/tracking.php eingebunden wird, über welche die benötigten Sessiondaten eigentlich gesetzt werden "sollten".
So Ursache gefunden und an der Wurzel behandelt.
Viele Grüße
h-h-h