Jump to content
php.lv forumi

Ja cookies neeksistē!


Sasa

Recommended Posts

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

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

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

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

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

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 by Vebers
Link to comment
Share on other sites

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

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 by Vebers
Link to comment
Share on other sites

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

×
×
  • Create New...