Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Mai 22, 2012, 21:59:41

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5257 Beiträge in 1422 Themen von 333 Mitglieder
Neuestes Mitglied: pje
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  SSP - Shop Server Pages
| | |-+  Cookies setzen und auslesen mit ssp
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Cookies setzen und auslesen mit ssp  (Gelesen 779 mal)
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« am: Mai 09, 2009, 09:56:08 »

Hallo,

wieder mal ein Tipp für Shopbastler

für manche Funktionen die sowohl für angemeldete als auch nicht angemeldete Besucher verwendbar sein sollen und die Variablen auch nach schließen des Browsers noch abrufbar sein sollen (also cart_write_var nicht benutzt werden kann), kann man Cookies verwenden.
(soweit der Kunde Cookies zulässt)

mit ssp geht das ganz einfach
(wenn man mal herausgefunden hat "wie"  Wink)

Cookie setzen:
Code:
<!--spmacro:module(Callback)
sub begin_read_template {
...
use strict;
use CGI qw(:standard);
my $q = CGI->new();
my $cookie = $q->cookie(
-name=>'mycookie',
-value=>$a,
-expires=> '+10y');

print redirect(
-URL => "$ssp::xxpath?udc_$page,__xxsession__",
-COOKIE => $cookie
);
...
}
-->
damit die neu gesetzten Cookies ausgelesen und verarbeitet werden können, muß die Seite neu geladen werden.
Das erreicht man automatisch mit der redirect Anweisung.
bei -URL => die Seite eintragen, die nach Absenden des Formulars aufgerufen wird.
bei -expires=> wird die Lebensdauer des Cookies eingetragen (im Beispiel 10 Jahre)

Cookies auslesen und verwenden:
Code:
...
use CGI;
my $cgi = CGI->new();
my $cookie = $cgi->cookie('mycookie');
...
if ($xx eq "$cookie") { mach was }
else { mach was anderes }
...

will man mehrere Cookies auf einmal setzen, geht das so:
Code:
use strict;
use CGI qw(:standard);
my $q = CGI->new();
my $cookie1 = $q->cookie(
-name=>'mycookie1',
-value=>$a,
-expires=> '+10y');

my $cookie2 = $q->cookie(
-name=>'mycookie2',
-value=>$b,
-expires=> '+10y');

print redirect(
-URL => "$ssp::xxpath?udc_$page,__xxsession__",
-COOKIE => [$cookie1,$cookie2]
);

Gespeichert

Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS