برگزیده های پرشین تولز

کار با کوکي !!

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
سلام !
يه سوال داشتم ! جواب بدين شرمندم کردين ! :blush:
آقا يه چيزي تو مايه هاي فروم فرض کنين ! چند تا صفحه داره !
تو هر صفحه هم چند تا تکست باکس و تکست آريا س !
واسه اينا ما ميخوايم فارسي ساز بزاريم ! خوب ! اينش که مشکلي نيست !
حالا اگه ما بتونيم کاري کنيم که با هر بار کليک روي دکمه تعويض زبان ، يه کوکي ست بشه ، سري بعد يا صفحه بعد هم ميتونيم از طريق اون کوکي ، در بياريم که طرف چه زبوني رو انتخاب کرده قبلا !
گرفتين چي شد؟
حالا چجوريا ميشه اين؟ :(
 

mostafa_gm

Registered User
تاریخ عضویت
4 آپریل 2005
نوشته‌ها
1,863
لایک‌ها
438
محل سکونت
My House
اینو فکر کنم باید تو قسمت php میپرسیدی!
حالا میخوای کلا فقط یه دونه کوکی ست بشه؟
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
به نقل از mostafa_gm :
اینو فکر کنم باید تو قسمت php میپرسیدی!
حالا میخوای کلا فقط یه دونه کوکی ست بشه؟
نه نه !
کل اين پروسه قراره با جاوا اسکريپت باشه !
يدونه کوکي درست شه و هي آپديت شه !
ميشه؟
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
به نقل از Asef :
با كوكي توي جاوا اسكريپت ميشه php‌هم ميشه
اکستنشن صفحات من php نيست !
ميمونه همون جاوا اسکريپت !
حالا چجوري ميشه؟
 

mostafa_gm

Registered User
تاریخ عضویت
4 آپریل 2005
نوشته‌ها
1,863
لایک‌ها
438
محل سکونت
My House
چرا نمیشه؟
من با جاوا خیلی کار نکردم ولی دستورات کار با کوکی اینطوریه:
معمولا هر کوکی یه اسم و یه مقدار و زمان اعتبار داره که بعد از اون پاک میشه.
Cookie(java.lang.String name,java.lang.String value,java.lang.String domain,java.lang.String path,java.util.Date expires,boolean secure)​
اینطوری یه کوکی ایجاد میشه، به جای name اسم کوکی و به جای value مقداری که میخوای نگه داره رو مینویسی بقیه پارامترها خیلی مهم نیستن ولی date واسه زمان اعتبار کوکی باید ست بشه.
برای عوض کردن مقدار کوکی هم میشه از دستوراتی مثل:
java.lang.String getvalue()
java.lang.String setvalue()​
استفاده کرد.
البته باید قبلش اسم کوکی که میخوای مقدارش عوض شه رو بگیری:
java.lang.String getname()​
و با اسم کوکی مورد نظر مقایسه کنی.
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
به نقل از mostafa_gm :
چرا نمیشه؟
من با جاوا خیلی کار نکردم ولی دستورات کار با کوکی اینطوریه:
معمولا هر کوکی یه اسم و یه مقدار و زمان اعتبار داره که بعد از اون پاک میشه.
Cookie(java.lang.String name,java.lang.String value,java.lang.String domain,java.lang.String path,java.util.Date expires,boolean secure)​
اینطوری یه کوکی ایجاد میشه، به جای name اسم کوکی و به جای value مقداری که میخوای نگه داره رو مینویسی بقیه پارامترها خیلی مهم نیستن ولی date واسه زمان اعتبار کوکی باید ست بشه.
برای عوض کردن مقدار کوکی هم میشه از دستوراتی مثل:
java.lang.String getvalue()
java.lang.String setvalue()​
استفاده کرد.
البته باید قبلش اسم کوکی که میخوای مقدارش عوض شه رو بگیری:
java.lang.String getname()​
و با اسم کوکی مورد نظر مقایسه کنی.
آها !
مصطفي جان !
اينو ببين ! http://shahed.persiangig.com/
ميخوام وختي اون دکمه کليک شد کوکي ست بشه !
دوباره کليک شد (زبون دوباره عوض شد) آپديت بشه کوکيه با مقدار جديد !
اونوخ گرفتن اطلاعات از کوکي و اعمالشون روي اون کليده چطوريه؟
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
توی جاوا اسکریپت میتونی کوکی ست کنی:

کد:
document.cookie="myvar=myvalue;expires=1/1/2006";

برای بدست آوردن مقدارها، باید از توابع substring و charAt و indexOf و اینا استفاده کنی، از آرایه خبری نیست.
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
اين يه رويه كامل براي كار با كوكي توي جاوا اسكريپت

HTML:
function save_cookie(cc_name, cc_val)
{
 var cookie_name = new String (cc_name);
 expires = new Date();
 expires.setTime(expires.getTime() + (1000 * 86400 * 365));
 
 set_cookie(cookie_name, cc_val, expires);
}

function fetch_cookie(name)
{
 cookie_name = name + "=";
 cookie_length = document.cookie.length;
 cookie_begin = 0;
 while (cookie_begin < cookie_length)
 {
  value_begin = cookie_begin + cookie_name.length;
  if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)
  {
   var value_end = document.cookie.indexOf (";", value_begin);
   if (value_end == -1)
   {
    value_end = cookie_length;
   }
   return unescape(document.cookie.substring(value_begin, value_end));
  }
  cookie_begin = document.cookie.indexOf(" ", cookie_begin) + 1;
  if (cookie_begin == 0)
  {
   break;
  }
 }
 return null;
}
// function to set a cookie
function set_cookie(name, value, expires)
{
 if (!expires)
 {
  expires = new Date();
 }
 document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() +  "; path=/";
}

فقط با save_cookie اسم كوكي رو بده و مقداري كه ميخواي ذخيره كنه
از fetch_cookie هم براي بدست آوردن مقدار كوكي ذخيره شده استفاده كن

اون تاريخ هم زمان ازبين رفتنش هست ...
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
ممنون از دوستان !
آصف ! يه بار ديگه ميگي من چطوري بهش يه مقدار بدم و بگيرم؟
رو همون کدهايي که دادي يه توضيحي بده ! دستت درد نکنه !
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
به نقل از Shahedr :
ممنون از دوستان !
آصف ! يه بار ديگه ميگي من چطوري بهش يه مقدار بدم و بگيرم؟
رو همون کدهايي که دادي يه توضيحي بده ! دستت درد نکنه !
به كد كاري نداشته باش فقط بزار ازش استفاده كن

ميخواي نحوه فراخواني تابع رو توضيح بدم؟
169.gif
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
به نقل از Asef :
به كد كاري نداشته باش فقط بزار ازش استفاده كن

ميخواي نحوه فراخواني تابع رو توضيح بدم؟
169.gif
باشه !
فقط اين برام سواله که ايني که قراره بره تو کوکيه رو چطور بايد وارد اين تشکيلات بکنيم؟
بعدم موقع گرفتن از کوکي، خروجي اون مقدار کدومه ؟
چون اون بايد به دکمه هه اعمال بشه ديگه !
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
نحوه استفاده

براي ثبت زباني كه يوزر انتخاب كرده
مثلا اگر فارسي رو انخاب كرد اينو اجرا كن تا داخل كوكي ذخيره بشه
HTML:
save_cookie("Lang","Persian");

براي اينكه بفهمي چه زباني رو انتخاب كرده
HTML:
CookieVal=fetch_cookie("Lang")
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
خدا خيرت بده آصف !
برم ببينم چه ميشود !
 
بالا