Hallo zusammen,
ich fange gerade an, eine bestehende PHP-Webanwendung auf Delphi mit WebBroker umzustellen. Soll später eine
ISAPI-
DLL werden, derzeit zu Testzwecken noch eine Standalone-Exe.
Momentan kämpfe ich noch mit den Cookies. Im WebModule1DefaultHandlerAction mache ich folgendes:
Delphi-Quellcode:
if Request.PathInfo = '
/Index.html'
then begin
if Request.CookieFields.Count >0
then begin // ist immer 0
ShowMessage(Request.CookieFields.Text);
end;
LCookie := TStringList.Create;
try
LCookie.Add('
MyApp=Test Cookies für Webserver');
LCookie.Add('
SetAt=' + FormatDateTime('
dd/mm/yyyy hh:mm', Now));
Response.SetCookieField(LCookie, '
localhost', '
/', -1, False);
PageProducer1.HTMLFile:= HtmlPath + Request.PathInfo;
Response.Content :=PageProducer1.Content;
finally
FreeAndNil(LCookie);
end;
end
else begin
PageProducer1.HTMLFile:= HtmlPath + Request.PathInfo;
Response.Content :=PageProducer1.Content;
end;
Dem SetCookieField gebe ich -1 als Expires mit, damit das Cookie nur so lange vorhanden ist, wie der Browser offen ist. Request.CookieFields.Count ist dann aber 0. Was mache ich da falsch?
Wenn ich
Response.SetCookieField(LCookie, 'localhost', '/', Now + 1, False);
mache, sehe ich das ShowMessage mit den Cookies. Dann müsste ich die Cookies nur wieder vom Browser entfernen können, wenn der User sich ausloggt. Aber wie geht das?