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: Admin-Login und PHP 5.4

    mrheat

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Re: Admin-Login und PHP 5.4
    Antwort #15 am: 26. März 2013, 13:01:36
    Erstmal Danke fürs Helfen, Dokuman

    Ja, einiges an Fehlermeldungen ist verschwunden, wobei ich immer noch  Illegal string offset 'reviews_id' in der reviews.php on line 73 erhalte ...

    Ich habe übrigends das gleiche File wie Zaldoran aus einer nagelneuen 1.06er jetzt rev 4356 ???

    Gruss   Dirk

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Admin-Login und PHP 5.4
    Antwort #16 am: 26. März 2013, 13:40:22
    Vielen Dank für die Fehlermeldungen, es gibt aber folgendes Problem. Die Demoshops werfen diese Fehlermeldungen nicht aus. Auch auf meinem eigenen Testshop funktioniert alles problemlos.

    Deshalb bitte mehr Infos posten:
    1. Genaue PHP Version nur 5.4 ist wenig aussagekräftig
    2. PHP Modus z. B. CGI
    3. Provider/Webpaket
    4. Serverumgebung Linux oder Windows

    Zum Loginproblem
    $_SESSION['tracking']['http_referer']['host'] ist unter Umständen nicht definiert, die ursache ist in der Datei includes/tracking.php zu finden:

    Code: PHP  [Auswählen]
    $ref_url = '';
    if (isset($_SERVER['HTTP_REFERER']))
      $ref_url = parse_url($_SERVER['HTTP_REFERER']);

    parse_url gibt nicht das erwartete array zurück, testet das mal mit

    Code: PHP  [Auswählen]
    print_r(parse_url($_SERVER['HTTP_REFERER']));

    Man kann entwender mit isset's fixen oder das array vorher korrekt initialisieren

    Gruss Web28

    ralph_84

    • Fördermitglied
    • Beiträge: 499
    • Geschlecht:
    Re: Admin-Login und PHP 5.4
    Antwort #17 am: 26. März 2013, 13:53:25
    Hallo Web28

    Server Information    
    Server Host:    Linux infong 2.4 #1 SMP Thu Feb 14 13:02:49 CET 2013 i686 GNU/Linux (Linux infong 2.4 #1 SMP Thu Feb 14 13:02:49 CET 2013 i686 GNU/Linux)        
    Server OS:    Linux infong 2.4 #1 SMP Thu Feb 14 13:02:49 CET 2013 i686 GNU/Linux Linux infong 2.4 #1 SMP Thu Feb 14 13:02:49 CET 2013 i686 GNU/Linux        
    Server Datum:    2013-03-26 13:52:18 +0100 CET         Datenbank Datum:    2013-03-26 13:52:18
    Server Up Time:    
    HTTP Server:    Apache
    PHP Version:    5.4.12 (Zend: 2.4.0)

    Fehler Meldung nach Einbau der Abfrage:

    Code: PHP  [Auswählen]
    Array ( [scheme] => http [host] => modified.babyweltonline.eu [path] => / )
    Warning: Cannot modify header information - headers already sent by (output started at /homepages/3/d292902499/htdocs/Modified/includes/tracking.php:23) in /homepages/3/d292902499/htdocs/Modified/inc/xtc_redirect.inc.php on line 38

    Gruß Ralph

    ralph_84

    • Fördermitglied
    • Beiträge: 499
    • Geschlecht:
    Re: Admin-Login und PHP 5.4
    Antwort #18 am: 26. März 2013, 14:01:38
    Der Versuch mit:

    Zitat
    Man kann entwender mit isset's fixen oder das array vorher korrekt initialisieren

    führt zu folgendem:

    Code: PHP  [Auswählen]
    Parse error: syntax error, unexpected ''s($_SERVER['' (T_CONSTANT_ENCAPSED_STRING), expecting '(' in /homepages/3/d292902499/htdocs/Modified/includes/tracking.php on line 21

    Gruß Ralph

    mrheat

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Re: Admin-Login und PHP 5.4
    Antwort #19 am: 26. März 2013, 18:53:11
    die Zeile 73 in der reviews.php (/templates/xtc5/source/boxes/...) macht Ärger:
    Code: PHP  [Auswählen]
    $cache_id = $_SESSION['language'].$random_product['reviews_id'].$product->data['products_id'].$_SESSION['language'];

    im Trunk sieht die Datei auch ganz anders aus, abgesehen davon das dort offensichtlich eine ältere Version drinnen steht (rev 4209).

    Gruss   Dirk

    Zaldoran

    • Fördermitglied
    • Beiträge: 417
    Re: Admin-Login und PHP 5.4
    Antwort #20 am: 26. März 2013, 21:10:04
    Also ich habe nun die neue (alte) Datei von Dokuman installiert, und habe jetzt auf den ersten Blick und nach einer viertelstunde keine Fehlermeldungen mehr. Scheint also wirklich nur die Datei im aktuellen release falsch zu sein.

    immer noch  Illegal string offset 'reviews_id' in der reviews.php on line 73 erhalte ...

    Dirk, wobei genau passiert das denn? Falls Du nicht das Standardtemplate benutzt, dann Vergleich mal deine /source/boxes/review.php mit der aus dem XTC5 Template, da liegt vermutlich der Fehler. (war bei mir in der source/boxes/whats_new.php ebenfalls so.)

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.303
    • Geschlecht:
    Re: Admin-Login und PHP 5.4
    Antwort #21 am: 26. März 2013, 22:52:39
    Gibt es einen Link wo wir uns das anschauen können ?

    Gruss Gerhard

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Admin-Login und PHP 5.4
    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.
    Code: PHP  [Auswählen]
    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:
    Code: PHP  [Auswählen]
    $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.
    Code: PHP  [Auswählen]
    $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

    mrheat

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Re: Admin-Login und PHP 5.4
    Antwort #23 am: 27. März 2013, 10:22:23
    so, den bei mir auftauchenden Fehler 'Illegal string offset 'reviews_id' in der reviews.php on line 73' habe ich gefunden. Dieser trat nebenbei bemerkt nur auf, wenn ich als Admin oder Kunde eingeloggt war, ansonsten (zum Anschauen etc.) lief das Shop einwandfrei nach der von Dokuman vorgeschlagenen Änderung in der 'xtc_write_user_info.inc.php' mit php 5.4.9.

    Ich hatte vor Monaten zu Testzwecken im produktiven Shop ein paar 'reviews' angelegt (hatte damals noch keinen Entwicklungs-Server ...). Da diese 'reviews' nur fake waren, habe ich sie später natürlich wieder gelöscht. Was ich bis heute morgen nie bemerkt hatte war, das obwohl die Tabelle 'reviews' als auch die Tabelle 'reviews_description' leer war, in der Tabelle 'reviews' der 'Nächste Autoindex' (Zeilenstatistik) auf dem Wert 8 stand. Unter php 5.3.x war das offensichtlich uninteressant -> php 5.4.9 hat mir immer den oben genannten Fehler rausgeworfen und anschliessend das Layout (product_info_tabs_v1.html) zerschossen.

    Also den auto-increment Wert berichtigt und nun ist erstmal Ruhe ...

    Gruss   Dirk

    ralph_84

    • Fördermitglied
    • Beiträge: 499
    • Geschlecht:
    Re: Admin-Login und PHP 5.4
    Antwort #24 am: 27. März 2013, 11:17:14
    Danke an h-h-h

    Gerade Umgebaut, und auf 2 Verschiedenen Servern getestet.
    Läuft so 1A ohne Fehlermeldung.

    Gruß Ralph  :thx:

    Zaldoran

    • Fördermitglied
    • Beiträge: 417
    Re: Admin-Login und PHP 5.4
    Antwort #25 am: 27. März 2013, 13:52:43
    [...]
    Mein Vorschlag, da $_SESSION['tracked'] sonst nirgends gebraucht wird.
    Code: PHP  [Auswählen]
    $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;
    }
    [...]

    ... und gleichzeitig die xtc_write_user_info.inc.php benutzen die im 1.06 Release dabei war? Oder die Version die Dokuman gepostet hat? Oder egal?

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Admin-Login und PHP 5.4
    Antwort #26 am: 28. März 2013, 00:25:42
    Hallo Zaldoran,
    die somit unnötigen Änderungen von DokuMan werden nicht mehr benötigt.
    Deswegen schrieb ich auch, dass ich das Problem an der Wurzel behandelt habe.

    Viele Grüße

    h-h-h

    Zaldoran

    • Fördermitglied
    • Beiträge: 417
    Re: Admin-Login und PHP 5.4
    Antwort #27 am: 28. März 2013, 01:36:05
    Danke, wollte nur sicher gehen  :thumbs:

    weswesx

    • Frisch an Board
    • Beiträge: 80
    Re: Admin-Login und PHP 5.4
    Antwort #28 am: 07. Mai 2014, 10:23:25
    Ich habe gerade den gleichen Fehler, DokuMan der oben gepostete Link funktioniert nicht ?
    Was muss ich in der Datei anpassen ?

    Danke und Viele Grüße

    weswesx

    • Frisch an Board
    • Beiträge: 80
    Re: Admin-Login und PHP 5.4
    Antwort #29 am: 07. Mai 2014, 10:50:37
    Hallo,
    bei mir ist gerade auch der Fehler aufgetaucht und ich habe erst einmal die "tracking.php" wie oben beschrieben angepasst.

    Leider bekomme ich immer noch folgenden Fehler :
    Code: PHP  [Auswählen]
    Notice: Undefined index: refID in /homepages/13/######/htdocs/#####/inc/xtc_write_user_info.inc.php on line 23

    Notice: Undefined variable: econda in /homepages/13/#####/htdocs/#####/login.php on line 83

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/13/#######/htdocs/#######/inc/xtc_write_user_info.inc.php:23) in /homepages/13/#######/htdocs/#######/inc/xtc_redirect.inc.php on line 32

    Muss ich noch etwas ändern ??

    Vielen Dank
    Managed Server
    0 Antworten
    2878 Aufrufe
    26. April 2013, 15:02:46 von Clever
    7 Antworten
    3473 Aufrufe
    24. Mai 2013, 17:01:40 von PaulB
    1 Antworten
    2432 Aufrufe
    15. Dezember 2010, 21:39:29 von ascsoft