PDA

View Full Version : خواندن Cookie



Abbas Arizi
یک شنبه 19 مرداد 1382, 22:42 عصر
اطلاعاتی که توی یک Cookie ثبت میشه رو چه جوری باید بعدا بخونم. چون با این روشهایی که من میدونم فقط وقتی میخونم Cookie رو بخونم که قبلا یه مقدار بهش داده باشم.
البته میدونم سوالم خیلی مبتدیانه است.

mahmoodreza
دوشنبه 20 مرداد 1382, 02:40 صبح
سوالت را درست متوجه نشدم....
منظورت اینه که اطلاعاتی را که تویه کوکی ریختی را بخونی و یا اینکه اطلاعاتی که مربوط به یک دومین دیگه هست را بخونی ؟
این روشی که بلدی مگه چشه ؟ وقتی اطلاعاتی تتویه کوکی نیست برای چی میخوای بخونی ؟

Abbas Arizi
دوشنبه 20 مرداد 1382, 11:08 صبح
من اطلاعات رو با یکی از این دو روش که هردو توی ASP.NET جواب میده توی Cookie ذخیره میکنم.

Response.Cookies.Add(New HttpCookie("Cookie"))
Response.Cookies("Cookie").Value = "Value"

یا

Response.Cookies("Cookie") = "Value"
و بعد با این روش اون رو میخونم:

TextBox2.Text = Request.Cookies("Cookie").Value.ToString

اشکال کار من اینه که هر موقع که برنامه ASP.NET اجرا میشه باید اون کد اولی (کد نوشتن) رو انجام بدم تا بتونم کد دومی (کد خوندن) رو انجام بدم. در غیر این صورت حتی اگر قبلا توی Cookie هم مقدار ریخته باشم با یک Exception مواجه میشم.

Vahid_Nasiri
دوشنبه 20 مرداد 1382, 13:28 عصر
برای ایجاد کوکی


HttpCookie cookieUserInfo = new HttpCookie("cookieUserHasVisited");
cookieUserInfo.Value = "Yes";
Response.AppendCookie(cookieUserInfo);

برای خواندن کوکی ها


HttpCookie cookieUserInfo = Request.Cookies["cookieUserHasVisited"];
if (cookieUserInfo != null) {
Response.Write(Request.Cookies["cookieUserHasVisited"].Value);
}
else {
Response.Write("No");
Response.Write("<BR/>");
Response.Write("(Actually, it was not set so it was null)");
}

Abbas Arizi
دوشنبه 20 مرداد 1382, 14:18 عصر
این کد رو هم اجرا کردم ولی باز هم همون مشکل رو دارم. یعنی اگه Cookie اول برنامه اضافه نشه بعدا پیغام NO میاد حتی اگه قبلا YES رو توی Cookie نوشته باشم.
احتمالا یه جای دیگه کارم مشکل داره :oops:

Vahid_Nasiri
دوشنبه 20 مرداد 1382, 14:34 عصر
if (cookieUserInfo != null) {

Abbas Arizi
سه شنبه 21 مرداد 1382, 10:32 صبح
مشکل من هم همینه که چرا CookieUserInfo حتی بعد از اینکه اطلاعات توی Cookie ثبت شده باز هم مقدار null برمی گردونه؟

Vahid_Nasiri
سه شنبه 21 مرداد 1382, 10:34 صبح
عباس جان شما کلا مشکلات عجیب و غریبی داری! :lol:
لطفا کد خودتان را اینجا بنویسید (کامل) سپس بیشتر می توان کمک کرد.
مرسی.

Abbas Arizi
سه شنبه 21 مرداد 1382, 10:59 صبح
راست میگید. واقعا من مشکلات عجیبی دارم. فکر میکنم به خاطر اینه که خودم آدم عجیب و غریبی هستم (شما بخونید بیسواد)
من عینا همین کدی که شما به من دادید رو کپی کردم و انجام دادم و الان چون در مرحله تمرین و فراگیری هستم برنامه چیز دیگه ای نداره ضمن اینکه توی دوتا برنامه هم تست کردم یکی توی VB و یکی توی #C و توی هر دو به نتیجه یکسان رسیدم.
من ایتدا کل این کد رو توی رویداد Load صفحه میگذارم و به خوبی کار میکنه. بعد اون قسمت مربوط به نوشتن رو Remark میکنم ولی باز هم توی صفحه پیغام No رو نشون میده.
من فکر میکنم به یک دلیلی اطلاعات توی Cookie باقی نمی مونه و با بستن صفحه اون اطلاعات از بین میره.
از این که انقدر وقتتون رو میگیرم واقعا شرمنده ام. :oops: :oops:

Vahid_Nasiri
سه شنبه 21 مرداد 1382, 11:20 صبح
حالا فهمیدم! :idea:
کوکی ها کلا یک زمان expire شدن دارند. آنرا باید ست کنید.
در این مقاله راجع به موضوع شما و بحث زمانی آن بحث شده است :
http://www.aspfree.com/examples/1807,1/examples.aspx

Abbas Arizi
سه شنبه 21 مرداد 1382, 12:34 عصر
مشکل برطرف شد :P :P
از شما خیلی خیلی متشکرم.