Sasa Posted February 4, 2008 Report Share Posted February 4, 2008 Kā lai pārbauda vai cookie'jā kaut kas ir? var cookies_ = getCookie("data"); usr_pas = cookies_.split(":"); te es dabūnu cookies saturu, bet ja cookijā nekā nav tad man browseris met erroru: Line: 266 (266'sestā rindiņa ir usr_pas = cookies_.split(":"); )Error: 'null' is null or not an object kā lai sataisa pārbaudi uz šādu paziņojumu? mēģināju visādi: if (null == usr_pas) if (usr_pas == null || usr_pas == "") if (null == cookies_) bet kā lai es nepārbaudītu man izdod šādu paziņojumu! PS. ja cookijā ir kaut kāds saturs tad viss nostrādā kā tam jābūt, bet tiklīdz es izdzēšu cookijut tā šis errors un nekas vairs nestrādā kā nākas! Link to comment Share on other sites More sharing options...
Vebers Posted February 4, 2008 Report Share Posted February 4, 2008 if(getCookie('data')) { // cookie exists } else { //cookie doesn`t exist } Link to comment Share on other sites More sharing options...
Paulinjsh Posted February 4, 2008 Report Share Posted February 4, 2008 nav ne jausmas, kas ir funkcijā getCookie() un kristāla bumba nestrādā Link to comment Share on other sites More sharing options...
Sasa Posted February 4, 2008 Author Report Share Posted February 4, 2008 paldies! šādi sanāca! Vēl viens jautājums par cookies! Ja man izveidojas cookies šādi te: function setCookie(name, value, expires, path, domain, secure) { document.cookie= name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } un man tas cookies izbeidzās tad kad es aizveru pārlūku, kā var to cookija iztecēšanas laiku pagarināt vismaz uz mēnesi? Link to comment Share on other sites More sharing options...
Sasa Posted February 4, 2008 Author Report Share Posted February 4, 2008 nav ne jausmas, kas ir funkcijā getCookie() un kristāla bumba nestrādā man gan šķiet ka šajā gadījumā ir pilnīgi vienalga kas ir iekš getCookie() funkcijā, jo mani interesēja kā es varu pārbaudīt vai cookijā kaut kas ir un ar getCookie() funkciju es dabūnu ārā cookija saturu! Funkcija strādā pareizi! Link to comment Share on other sites More sharing options...
Vebers Posted February 4, 2008 Report Share Posted February 4, 2008 Uzstādot cookie par jaunu, jo tas automātiski tiek izdzēsts.. Starpcitu neiesaku glabāt lietotāja paroli iekš cepumiem - tos ir viegli nozagt :) Link to comment Share on other sites More sharing options...
andrisp Posted February 4, 2008 Report Share Posted February 4, 2008 (edited) Sasa, pamēģini expires uzlikt 0. Sajaucu, tieši otrādi - uzliec datumu mēnesi uz priekšu. Edited February 4, 2008 by andrisp Link to comment Share on other sites More sharing options...
Vebers Posted February 4, 2008 Report Share Posted February 4, 2008 man gan šķiet ka šajā gadījumā ir pilnīgi vienalga kas ir iekš getCookie() funkcijā, jo mani interesēja kā es varu pārbaudīt vai cookijā kaut kas ir un ar getCookie() funkciju es dabūnu ārā cookija saturu! Funkcija strādā pareizi! Nav gan gluži tā, jo iespējams ka tev tā f-ji nesaņemot cookie neatgriež false un tad IF`s nenostrādātu. Link to comment Share on other sites More sharing options...
Sasa Posted February 4, 2008 Author Report Share Posted February 4, 2008 getCookie funkcija: function getCookie(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return null; } else { begin += 2; } var end = document.cookie.indexOf(";", begin); if (end == -1) { end = dc.length; } return unescape(dc.substring(begin + prefix.length, end)); } PS. īsti nesaprotu kā man cookija termiņu pagarināt par mēnasi uz priekšu: kā tad man tai rindiņai vajadzētu izskatīties? ((expires) ? "; expires=" + expires."Mon, 4 Mar 2008 10:48:00 UTC") + kaut kā tā? un kā tad varētu realizēt lietotāja atcerēšanos neglabājot paroli iekš cookies? Link to comment Share on other sites More sharing options...
Vebers Posted February 4, 2008 Report Share Posted February 4, 2008 (edited) un kā tad varētu realizēt lietotāja atcerēšanos neglabājot paroli iekš cookies? Atkarīgs no sistēmas. Es esmu savā ziņā paranoiķis uz drošību. Tāpēc pieglabātu tikai lietotāja id un kaut kādu hashu, piemēram kur būtu hashota ip, id un parole, bet viss vienā hešā. Edited February 4, 2008 by Vebers Link to comment Share on other sites More sharing options...
Aleksejs Posted February 4, 2008 Report Share Posted February 4, 2008 Uz lietotāja datora ir jāglabā tikai session_id, kas pēc noklusējuma glabājas iekš cookie. Visas pārbaudes jāveic tikai uz servera. Veber, un tad kā sanāk? Ko Tu dari ar to cookie glabājamo lietotāja id? Kur to izmanto? Link to comment Share on other sites More sharing options...
Sasa Posted February 4, 2008 Author Report Share Posted February 4, 2008 kā es cookija iztecēšanas laiku varu pagarināt mēģināju šādi: document.cookie= name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "Mon Feb 25 11:10:30 UTC+0200 2008") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); un pēc pārlūka aizvēršanas man tas cookijs iztīrās! Link to comment Share on other sites More sharing options...
andrisp Posted February 4, 2008 Report Share Posted February 4, 2008 Sasa, tu guugli vispār neizmanto ?? http://www.google.com/search?hl=lv&q=j...ript+set+cookie Saderam, ka vismaz vienā no tiem linkiem ir tas, ko tev vajag! Link to comment Share on other sites More sharing options...
Vebers Posted February 4, 2008 Report Share Posted February 4, 2008 (edited) Aleksej, bet sessijas Id mēdz "iztecēt" (expire)un tad tas "atcerēties mani" nedarbosies. Kad uzstādu cookie pieglabāju db tabulā lietotāja id, datumu kad uzstādīts cookie (lai varētu viņus pēc noteikta laika izdzēst un tabula neizaugtu milzīga), un heshu. pēc cookija id piemeklēju db attiecīgo ierakstu un paskatos vai hashi sakrīt (attiecīgi ja sakrīt tad ip ir tā pati, parole arī ir īstā). Sasa, kā jau es teicu, ja cookie iztek derīguma termiņš tas pēc pārlūka aizvēršanas izdzēšas! Tāpēc tas ir jāuzstāda par jaunu tādā veidā to pagarinot. Edited February 4, 2008 by Vebers Link to comment Share on other sites More sharing options...
Sasa Posted February 4, 2008 Author Report Share Posted February 4, 2008 izmantot izmantoju, bet es nezinu kā to uzlikt uz manas setCookies() funkcijas: function setCookie(name, value, expires, path, domain, secure) { document.cookie= name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } savu cookies sistēmu izveidoju jau no googlē atrodamiem paraugiem, izmēģināju vairākus kamēr atradu normāli strādājošu (iespējams ka tur lailāka daļa darbojošos, bet es viņu nemācēju piedarbināt). Un šim kodam es nemāku pielikt to iztecēšanas laiku, jo īsti nesaprotu šo rindiņu! ((expires) ? "; expires=" + expires.toGMTString() : "") Link to comment Share on other sites More sharing options...
Recommended Posts