A
Artexoid
Вот написал такую радость для записи cookie:
void __fastcall TModul::ModulWebActionItem13Action(TObject *Sender,
TWebRequest *Request, TWebResponse *Response, bool &Handled)
{
_Response->Title="test";
_Response->CustomHeaders->Clear();
_Response->CustomHeaders->Add("Content-Type: text/html");
_Response->ContentType="text/html";
_TStringList *Cock = new TStringList();
_Cock->Clear();
_Cock->Append("Login=misha");
_Cock->Append("Password=mishapass");
_Cock->Append("AutoIn=1");
_Response->SetCookieField(Cock,NULL,NULL,Now()+100,false);
_Cock->Free();
_try
_{
__Response->Content=Pages->Content();
_}
___except(EXCEPTION_EXECUTE_HANDLER)
_{
__Response->Content=error404;
_}
}
И вот такую для чтения cookie:
bool GetCookInden(TStringList *pHLogPass, TWebRequest *pRequest)
{
_pHLogPass->Clear();
_pHLogPass->Append(pRequest->CookieFields->Values["Login");
_pHLogPass->Append(pRequest->CookieFields->Values["Password"]);
_pHLogPass->Append(pRequest->CookieFields->Values["AutoIn"]);
_if (pHLogPass->Strings[2]=="1")
_{
__if (pHLogPass->Strings[0]!="" && pHLogPass->Strings[1]!="")
__{
___Modul->Query->Active=false;
___Modul->Query->SQL->Clear();
___Modul->Query->SQL->Append("SELECT Login FROM Klient WHERE Kl_Login=\'"+pHLogPass->Strings[0]+"\' and Password=\'"+pHLogPass->Strings[1]+"\'");
___Modul->Query->Active=true;
___if (Modul->Query->RecordCount==0)
____return false;
___else
____return true;
__}
__else
___return false;
_}
_else
__return false;
}
Потом я вывил каждую строку pHLogPass и увидел, что строки пусты!!! . Не могу понять, лидо Cookie вовсе не записываются либо они не читаются!! Где ошибка!! Пожалуйста посматрите есть ли ошибка в функциях!!!???
void __fastcall TModul::ModulWebActionItem13Action(TObject *Sender,
TWebRequest *Request, TWebResponse *Response, bool &Handled)
{
_Response->Title="test";
_Response->CustomHeaders->Clear();
_Response->CustomHeaders->Add("Content-Type: text/html");
_Response->ContentType="text/html";
_TStringList *Cock = new TStringList();
_Cock->Clear();
_Cock->Append("Login=misha");
_Cock->Append("Password=mishapass");
_Cock->Append("AutoIn=1");
_Response->SetCookieField(Cock,NULL,NULL,Now()+100,false);
_Cock->Free();
_try
_{
__Response->Content=Pages->Content();
_}
___except(EXCEPTION_EXECUTE_HANDLER)
_{
__Response->Content=error404;
_}
}
И вот такую для чтения cookie:
bool GetCookInden(TStringList *pHLogPass, TWebRequest *pRequest)
{
_pHLogPass->Clear();
_pHLogPass->Append(pRequest->CookieFields->Values["Login");
_pHLogPass->Append(pRequest->CookieFields->Values["Password"]);
_pHLogPass->Append(pRequest->CookieFields->Values["AutoIn"]);
_if (pHLogPass->Strings[2]=="1")
_{
__if (pHLogPass->Strings[0]!="" && pHLogPass->Strings[1]!="")
__{
___Modul->Query->Active=false;
___Modul->Query->SQL->Clear();
___Modul->Query->SQL->Append("SELECT Login FROM Klient WHERE Kl_Login=\'"+pHLogPass->Strings[0]+"\' and Password=\'"+pHLogPass->Strings[1]+"\'");
___Modul->Query->Active=true;
___if (Modul->Query->RecordCount==0)
____return false;
___else
____return true;
__}
__else
___return false;
_}
_else
__return false;
}
Потом я вывил каждую строку pHLogPass и увидел, что строки пусты!!! . Не могу понять, лидо Cookie вовсе не записываются либо они не читаются!! Где ошибка!! Пожалуйста посматрите есть ли ошибка в функциях!!!???