Opened 4 years ago
Closed 4 years ago
#2112 closed Bug/Fehler (invalid)
includes/tracking.php, MODOilTrack wird nicht korrekt umgewandelt
| Reported by: | Owned by: | somebody | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Shop | Version: | 2.0.6.0 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Guten Morgen,
in der Tracking.php wird das MODOilTrack-Cookie in PHP eingelesen.
Inhalt des Cookies: {"1":true,"2":true,"4":false,"5":true}
Die verwendete Funktion
$_SESSION['tracking']['allow'] = json_decode(stripslashes($_COOKIE['MODOilTrack']), true);
liefert dieses Ergebnis:
array(4) {
[0]=>
string(1) "1"
[1]=>
string(1) "2"
[2]=>
string(1) "4"
[3]=>
string(1) "5"
}
Damit kann leider nicht erkannt werden, ob den einzelnen Cookie-Klassen zugestimmt wurde oder nicht.
Diese Änderung würde das korrekte Ergebnis liefern:
$_SESSION['tracking']['allow'] = (array)json_decode(stripslashes($_COOKIE['MODOilTrack']), false);
Ergebnis:
array(4) {
[1]=>
bool(true)
[2]=>
bool(true)
[4]=>
bool(false)
[5]=>
bool(true)
}
Nun weiß ich nicht, ob das ursprüngliche Verhalten auf die PHP-Version zurückzuführen ist. Auf dem Server läuft PHP Version 7.4.3
Viele Grüße
Attachments (0)
Change History (7)
follow-up: 3 comment:2 by , 4 years ago
Replying to GTB:
habe das gerade getestet und kann das nicht nachvollziehen. PHP Version 8.0.11
Ich versuche es auch noch einmal in anderen PHP-Versionen.
Wichtig: die Einstellung lesbares Cookie setzen muss im Systemmodul aktiviert sein
follow-up: 4 comment:3 by , 4 years ago
Replying to anonymous:
Replying to GTB:
habe das gerade getestet und kann das nicht nachvollziehen. PHP Version 8.0.11
Ich versuche es auch noch einmal in anderen PHP-Versionen.
Wichtig: die Einstellung lesbares Cookie setzen muss im Systemmodul aktiviert sein
Merkwürdig, jetzt funktioniert es hier auch.
diese Abfrage in der gtag.php wäre dann aber immer "false" wenn json_decode das richtige Ergebnis liefert:
in_array(3, $_SESSION['tracking']['allowed'])
comment:4 by , 4 years ago
Eine Erklärung für das zuerst gesehene Verhalten wäre, dass das Cookie zu unterschiedlichen Zeiten unterschiedliche Daten enthält.
Ich werde das nochmal genauer prüfen.
Viele Grüße
AGI
follow-up: 6 comment:5 by , 4 years ago
$_SESSION['tracking']['allowed'] !== $_SESSION['tracking']['allow']
comment:6 by , 4 years ago
Replying to GTB:
Das ist aber eine andere Variable !
$_SESSION['tracking']['allowed'] !== $_SESSION['tracking']['allow']
Ach +++schimpfwort hier+++. Danke und Sorry
comment:7 by , 4 years ago
| Milestone: | modified-shop-2.0.6.1 |
|---|---|
| Resolution: | → invalid |
| Status: | new → closed |

habe das gerade getestet und kann das nicht nachvollziehen. PHP Version 8.0.11